{"id":4666,"date":"2018-07-25T08:43:05","date_gmt":"2018-07-25T08:43:05","guid":{"rendered":"https:\/\/codewaveinsdev.wpengine.com\/?p=4666"},"modified":"2023-08-01T14:56:58","modified_gmt":"2023-08-01T14:56:58","slug":"building-scalable-powerful-apps-with-mean-stack-nodejs","status":"publish","type":"post","link":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/","title":{"rendered":"Building scalable &#038; powerful apps with MEAN Stack &#8211; Angular &#038; NodeJS"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>In a recent social commerce platform, we used elastic search in combination with MEAN to search millions of products and list results<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"scrollTo\"><span id=\"why-i-recommend-mean-stack-for-scalability\">Why I recommend MEAN stack for scalability<\/span><\/h2>\n\n\n\n<p>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\u2019re looking for a technology stack for building scalable applications that\u2019s rapidly improving, easy to collaborate, and easy to learn, I\u2019d recommend the MEAN stack (stands for MongoDB, ExpressJS, AngularJS, NodeJS).<\/p>\n\n\n\n<h2 id=\"mongodb-free-open-source-great-for-scale\" class=\"wp-block-heading\">MongoDB \u2013 Free, Open Source, Great for scale<\/h2>\n\n\n\n<p>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\u2019s benefits like auto \u2013 sharding, replication and high availability, it is easy and reliable to scale and you don\u2019t need to worry about failover.<\/p>\n\n\n\n<p class=\"has-orange-background-color has-background\"><a href=\"https:\/\/insights.codewave.com\/when-to-use-mongodb-and-why\/\">READ WHEN TO USE MONGODB<\/a><\/p>\n\n\n\n<p>MongoDB is a document \u2013 oriented database which can hold various kinds of data. Say, a social media post that can contain images or videos or gifs \u2013 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.<\/p>\n\n\n\n<h2 id=\"express-js-popular-choice-for-rest-apis\" class=\"wp-block-heading\">Express.JS, popular choice for REST APIs<\/h2>\n\n\n\n<p>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&nbsp;<a href=\"http:\/\/jade-lang.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">jade<\/a>,&nbsp;<a href=\"https:\/\/github.com\/janl\/mustache.js\/\" target=\"_blank\" rel=\"noreferrer noopener\">mustache<\/a>&nbsp;(a logic-less template syntax), ejs along with&nbsp;<a href=\"http:\/\/expressjs.com\/en\/guide\/error-handling.html\" target=\"_blank\" rel=\"noreferrer noopener\">error handling<\/a>.<\/p>\n\n\n\n<p>We\u2019ve used Express in multiple web applications in which Express.js organises all modules into the web application like:<\/p>\n\n\n\n<ul>\n<li><a href=\"http:\/\/mongoosejs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mongoose<\/a>&nbsp;which helps to connect MongoDB and modeling application data with your Node.js application<\/li>\n\n\n\n<li><a href=\"https:\/\/www.npmjs.com\/package\/passport\" target=\"_blank\" rel=\"noreferrer noopener\">Passport npm module<\/a>&nbsp;for authentication.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.npmjs.com\/package\/express-validator\" target=\"_blank\" rel=\"noreferrer noopener\">Express-validator middleware<\/a>&nbsp;for validator module.<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/bnoguchi\/everyauth\/\" target=\"_blank\" rel=\"noreferrer noopener\">Everyauth<\/a>&nbsp;for auth and authorization for social login and register.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-orange-background-color has-background\"><a href=\"https:\/\/insights.codewave.com\/mern-stack-development\/\">MERN STACK DEVELOPMENT<\/a><\/p>\n\n\n\n<h2 id=\"angularjs-say-no-to-page-refresh\" class=\"wp-block-heading\">AngularJS, say no to page refresh<\/h2>\n\n\n\n<p>Angularjs is a complete JavaScript-based open-source frontend framework by Google, which is pretty light and enables you to build pages that can load realtime data without the need for page refresh. Great choice, specially for apps that enable realtime data driven decisions (analytics \/ data visualizations), live feeds etc.<\/p>\n\n\n\n<p>AngularJS is quickly becoming the dominant JavaScript framework because of its features like Templating, Data-binding, routing, clean, modular, reusable architecture and security. Angular\u2019s continuous growth is due to the improvements and advancements it brings in with every new release.<\/p>\n\n\n\n<h2 id=\"node-js-for-performance-at-scale\" class=\"wp-block-heading\">Node.js, for performance at scale<\/h2>\n\n\n\n<p>Node.js is a software platform built on Google\u2019s V8 JavaScript engine. It makes use of an event-driven, non-blocking I\/O model and a single-threaded event loop which allows high throughput and application scalability. Node.js development is inexpensive to test and deploy using Pay As You Grow services (AWS).<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p class=\"has-orange-background-color has-background\"><a href=\"https:\/\/insights.codewave.com\/mean-stack-web-application-development\/\">MEAN STACK FOR ENTERPRISE APPLICATION DEVELOPMENT<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/codewavetechnologies\/image\/upload\/q_auto:eco\/v1539914143\/Mean-Stack-Codewave-min.png\" alt=\"Mean Stack for building powerful scalable apps MongoDB Expressjs angularjs nodejs\"\/><\/figure>\n\n\n\n<h2 id=\"m-e-a-n-work-well-together\" class=\"wp-block-heading\">M, E, A, N work well together<\/h2>\n\n\n\n<p>MongoDB, Express, AngularJS, and Node.js work well together. There might be alternatives \u2013 like Redis replacing MongoDB, Ember.js replacing Angular.JS and Backbone.js or just jQuery can be used as well. There are a number of combinations we can use, to best suit the application you\u2019re building. MEAN is just one of them and it\u2019s written in the most popular programming language JAVASCRIPT.<\/p>\n\n\n\n<h2 id=\"elastic-search-with-mean\" class=\"wp-block-heading\">Elastic search with MEAN<\/h2>\n\n\n\n<p>In a recent social commerce platform we built for a customer, we used&nbsp;<a href=\"https:\/\/www.elastic.co\/products\/elasticsearch\" target=\"_blank\" rel=\"noreferrer noopener\">elastic search<\/a>&nbsp;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\u2019s really simple and efficient which helps increase the speed of development to get a first version up and running pretty quick.<\/p>\n","protected":false},"excerpt":{"rendered":"Javascript is the language that web speaks, that browsers understand. Find out how you can build successful apps with MEAN stack.\n","protected":false},"author":1,"featured_media":4667,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_singular_sidebar":"","csco_page_header_type":"full","csco_page_load_nextpost":"","csco_post_video_location":[],"csco_post_video_url":"","csco_post_video_bg_start_time":0,"csco_post_video_bg_end_time":0,"footnotes":""},"categories":[31,33],"tags":[673,532,95,674,96,535,675,676,537,677,678,538,544,545,546,679,680,681],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mean Stack Development for Scalable Apps<\/title>\n<meta name=\"description\" content=\"Javascript is the language that web speaks, that browsers understand. Find out how you can build successful apps with MEAN stack.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mean Stack Development for Scalable Apps\" \/>\n<meta property=\"og:description\" content=\"Javascript is the language that web speaks, that browsers understand. Find out how you can build successful apps with MEAN stack.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/codewave.inc\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-25T08:43:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-01T14:56:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Codewave\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/codewave_inc\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Codewave\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/\",\"url\":\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/\",\"name\":\"Mean Stack Development for Scalable Apps\",\"isPartOf\":{\"@id\":\"https:\/\/codewave.com\/insights\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg\",\"datePublished\":\"2018-07-25T08:43:05+00:00\",\"dateModified\":\"2023-08-01T14:56:58+00:00\",\"author\":{\"@id\":\"https:\/\/codewave.com\/insights\/#\/schema\/person\/3657f01be1b168c52f7d5ba8996fd2f2\"},\"description\":\"Javascript is the language that web speaks, that browsers understand. Find out how you can build successful apps with MEAN stack.\",\"breadcrumb\":{\"@id\":\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#primaryimage\",\"url\":\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg\",\"contentUrl\":\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg\",\"width\":1600,\"height\":650,\"caption\":\"MEAN stack development - MongoDB Express Angular NodeJs\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codewave.com\/insights\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building scalable &#038; powerful apps with MEAN Stack &#8211; Angular &#038; NodeJS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codewave.com\/insights\/#website\",\"url\":\"https:\/\/codewave.com\/insights\/\",\"name\":\"\",\"description\":\"Innovate with tech, design, culture\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codewave.com\/insights\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/codewave.com\/insights\/#\/schema\/person\/3657f01be1b168c52f7d5ba8996fd2f2\",\"name\":\"Codewave\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codewave.com\/insights\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8eaea4760f144032645a66b5f0e21153?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8eaea4760f144032645a66b5f0e21153?s=96&d=mm&r=g\",\"caption\":\"Codewave\"},\"description\":\"Codewave is a design thinking led digital transformation company enabling organisations with playful innovation using AI &amp; ML, IoT &amp; Edge, AR, VR, Cloud, Blockchain, and Data.\",\"sameAs\":[\"https:\/\/codewave.com\",\"https:\/\/www.facebook.com\/codewave.inc\",\"https:\/\/www.instagram.com\/codewavetech\/\",\"https:\/\/in.linkedin.com\/company\/codewave-inc\",\"https:\/\/x.com\/https:\/\/twitter.com\/codewave_inc\"],\"url\":\"https:\/\/codewave.com\/insights\/author\/codewaveinsdev\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mean Stack Development for Scalable Apps","description":"Javascript is the language that web speaks, that browsers understand. Find out how you can build successful apps with MEAN stack.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/","og_locale":"en_US","og_type":"article","og_title":"Mean Stack Development for Scalable Apps","og_description":"Javascript is the language that web speaks, that browsers understand. Find out how you can build successful apps with MEAN stack.","og_url":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/","article_author":"https:\/\/www.facebook.com\/codewave.inc","article_published_time":"2018-07-25T08:43:05+00:00","article_modified_time":"2023-08-01T14:56:58+00:00","og_image":[{"width":1600,"height":650,"url":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg","type":"image\/jpeg"}],"author":"Codewave","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/codewave_inc","twitter_misc":{"Written by":"Codewave","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/","url":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/","name":"Mean Stack Development for Scalable Apps","isPartOf":{"@id":"https:\/\/codewave.com\/insights\/#website"},"primaryImageOfPage":{"@id":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#primaryimage"},"image":{"@id":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#primaryimage"},"thumbnailUrl":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg","datePublished":"2018-07-25T08:43:05+00:00","dateModified":"2023-08-01T14:56:58+00:00","author":{"@id":"https:\/\/codewave.com\/insights\/#\/schema\/person\/3657f01be1b168c52f7d5ba8996fd2f2"},"description":"Javascript is the language that web speaks, that browsers understand. Find out how you can build successful apps with MEAN stack.","breadcrumb":{"@id":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#primaryimage","url":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg","contentUrl":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs.jpg","width":1600,"height":650,"caption":"MEAN stack development - MongoDB Express Angular NodeJs"},{"@type":"BreadcrumbList","@id":"https:\/\/codewave.com\/insights\/building-scalable-powerful-apps-with-mean-stack-nodejs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codewave.com\/insights\/"},{"@type":"ListItem","position":2,"name":"Building scalable &#038; powerful apps with MEAN Stack &#8211; Angular &#038; NodeJS"}]},{"@type":"WebSite","@id":"https:\/\/codewave.com\/insights\/#website","url":"https:\/\/codewave.com\/insights\/","name":"","description":"Innovate with tech, design, culture","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codewave.com\/insights\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/codewave.com\/insights\/#\/schema\/person\/3657f01be1b168c52f7d5ba8996fd2f2","name":"Codewave","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codewave.com\/insights\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8eaea4760f144032645a66b5f0e21153?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8eaea4760f144032645a66b5f0e21153?s=96&d=mm&r=g","caption":"Codewave"},"description":"Codewave is a design thinking led digital transformation company enabling organisations with playful innovation using AI &amp; ML, IoT &amp; Edge, AR, VR, Cloud, Blockchain, and Data.","sameAs":["https:\/\/codewave.com","https:\/\/www.facebook.com\/codewave.inc","https:\/\/www.instagram.com\/codewavetech\/","https:\/\/in.linkedin.com\/company\/codewave-inc","https:\/\/x.com\/https:\/\/twitter.com\/codewave_inc"],"url":"https:\/\/codewave.com\/insights\/author\/codewaveinsdev\/"}]}},"featured_image_src":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs-600x400.jpg","featured_image_src_square":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2022\/08\/MEAN-stack-development-MongoDB-Express-Angular-NodeJs-600x600.jpg","author_info":{"display_name":"Codewave","author_link":"https:\/\/codewave.com\/insights\/author\/codewaveinsdev\/"},"_links":{"self":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/posts\/4666"}],"collection":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/comments?post=4666"}],"version-history":[{"count":0,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/posts\/4666\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/media\/4667"}],"wp:attachment":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/media?parent=4666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/categories?post=4666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/tags?post=4666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}