MongoDB, Express, AngularJS (1.6) and NodeJS (MEAN)

Building scalable web applications using MEAN stack

Step 1: Introduction

This is the first tutorial of this series and it pretty much explains the basics of setting up a MEAN project, if you’re already comfortable setting up a MEAN project then you may find this long and boring. Feel free to move on to the next tutorial. But if you’re a beginner in the MEAN stack, I’m hoping you pick up a thing or two from this :)

Why MEAN

MEAN stands for MongoDB, ExpressJS, AngularJS and NodeJS. Let’s quickly walk through each of them:

MongoDB

MongoDB is a non-relational, NoSQL database written in C++. In plain language, a database that stores data as objects, where each object has a unique _id, as opposed to storing data in tables which is used by relational databases. Generally, non-relational databases are easy to use, requires little technical expertise, and scales out really well across machines.

ExpressJS

ExpressJS is a NodeJS web application framework. It enables us add some backend functionalities to our plain JavaScript application. It basically creates a REST server on NodeJS.

AngularJS

AngularJS is a front-end framework that allows us extend HTML attributes and functionalities to accommodate the use of logic-based expressions directly in the DOM. AngularJS enables us to use functionalities such as ng-if, ng-show, ng-repeat and a bunch of other useful features that can make our HTML views dynamic.

NodeJS

NodeJS is a cross-platform runtime environment for developing server-side and networking applications. NodeJS applications are written in JavaScript and the presence of abundant modules using NPM (Node Package Manager) makes it super-easy to develop applications using NodeJS.