In a recent social commerce platform, we used elastic search in combination with MEAN to search millions of products and list results
Why I recommend MEAN stack for scalability
The world of web technologies is always changing and moving fast. Powerful, new open source frameworks come out every day, existing ones constantly evolve and mature with time. If you’re looking for a technology stack for building scalable applications that’s rapidly improving, easy to collaborate, and easy to learn, I’d recommend the MEAN stack (stands for MongoDB, ExpressJS, AngularJS, NodeJS).
MongoDB – Free, Open Source, Great for scale
MongoDB is a free and open-source cross-platform database which is the leading NoSQL database provider. NoSQL stands for Not Only SQL, which opens a new world of possibilities with non relational database design and entity relationships. With Mongo’s benefits like auto – sharding, replication and high availability, it is easy and reliable to scale and you don’t need to worry about failover.
MongoDB is a document – oriented database which can hold various kinds of data. Say, a social media post that can contain images or videos or gifs – can all be stored in one collection within Mongo. Number of fields, content and size of the document can differ from one document to another, unlike MYSQL where database table structures and relationships are defined with constraints. Mongo, in my view is highly flexible for applications that require handling of different kinds of data / content and that are prone to rapid changes and feature additions.
Express.JS, popular choice for REST APIs
Express.js is most popular Node.js web application framework, designed for building single-page, multi-page and hybrid web applications. It handles things like request endpoints, cookies, forming the response and handling routes well and enables easy templating through jade, mustache (a logic-less template syntax), ejs along with error handling.
We’ve used Express in multiple web applications in which Express.js organises all modules into the web application like:
- Mongoose which helps to connect MongoDB and modeling application data with your Node.js application
- Passport npm module for authentication.
- Express-validator middleware for validator module.
- Everyauth for auth and authorization for social login and register.
AngularJS, say no to page refresh
Node.js, for performance at scale
Node.js services are considered as lightweight and easy to modify with respect to feature enhancements. Hosting is easy and cost effective with Node.js for business applications compared to other equivalent platforms.
M, E, A, N work well together
Elastic search with MEAN
In a recent social commerce platform we built for a customer, we used elastic search in combination with MEAN to search within millions of products and list results in a fraction of a second. Elastic makes life easier when searching with large volumes of data as it comes with inbuilt features like full-text search, faceting, filters etc. It’s really simple and efficient which helps increase the speed of development to get a first version up and running pretty quick.