Click here to jump to the MEAN Stack Resource List

As part of our services to clients, we offer software development and software integration services. One recent project that we are involved in has introduced us to a fantastic development stack based purely on javascript on both the front end (client facing) and the back end (API services) which has been given name, the MEAN Stack.

It’s taken quite a while to get our heads around some of the new concepts in the MEAN stack, and I’ve put together this article to list some useful resources based around the MEAN stack and it’s component parts.  This is a work in progress and will be updated as I learn more. It’s not a definitive resource and elements may well be incorrect but it’s at least a starting point for you :)

As it’s a relatively new stack (compared to say LAMP) and as the components are themselves also being developed the resources around the web are pretty sparse compared to other established development frameworks such as MS.NET, MS-SQL, PHP & MySQL etc. Thats not to say that the MEAN Stack isn’t suitable for production use – there are plenty of examples of it’s use in mainstream, high user environments.

Firstly, an introduction to the MEAN Stack.

The MEAN Acronym is made of:

  • (M)ongoDB – an open source, noSQL document database
  • (E)xpressJS – an http server framework that sits on top of Node.js (see below)
  • (A)ngularJs – a pure javascript development framework from Google, allowing feature rich Single Page Applications (SPAs) to be created with databinding.
  • (N)ode.js  - A platform built on the Chrome V8 Javascript Engine allowing developers to create scalable and fast network based services.

The order of the acronym is a little misleading – on a logical basis from Client –> Server but it’s easy to remember and understand.

So, how does all this fit together to create a nice development stack?

This stack combination allows us to create a noSQL database using MongoDB, a RESTful API using ExpressJS with User authentication options and a rich front end for the client using AngularJS all speaking the same language of Javascript and passing data in one format (JSON).

The MEAN Stack Resource List

 

KeystoneJS – a fantastic framework and toolset for building Node.JS apps.


This resource lists not just the components of the MEAN stack but will also contain resources for typical development recipes/ requirements such as User Authentication, SEO, online payments etc

General

Non specific resources and background reading for the components of the MEAN Stack

Platform

Node.js – the platform for serving both the API backend, and the AngularJS client

mean.io – MEAN Stack boilerplate example

 

Background Reading

This is an excellent book giving a good background on how Node.js is put together and some good examples of the different applications of Node.

 

Database

 

Background Reading

MongoDB Architecture Overview - a great overview of how MongoDB operates.

Resources

MongoDB

Mongoose – Object modelling for Mongodb

Mongodb Native Node.js driver

API

Background Reading

REST Framework Comparison Discussion

Resources

ExpressJS

Node Restify – REST framework for NodeJS

Node Perfect API - another REST framework for NodeJS

Client

Information and resources about developing SPAs with AngularJS.

Background Reading

Resources

AngularJS

Twitter Bootstrap - Front end framework;

UI Bootstrap (AngularJS version of Twitter Bootstrap)

 

Development Helpers

Background reading and resources for development specific tasks such as user authentication.

User Authentication

 

Background Reading

HTTP Interception for Authentication in AngularJS – Witold Szczerba

Dealing with User Authentication in AngularJS – Bruno Scopelliti

Authentication of SPAs in AngularJS – Frederik Nakstad

Creating a Secure SPA with PassportJS – Daniel Studds

Resources

AngularJS Client Side Authentication source code by Frederik Nakstad

PassportJS - Authentication plugin for ExpressJS.

Nodestrap - Example Authentication System for the MEAN stack – Hugu Dias

Http Intercept module – Witold Szczerba

Angular App - full CRUD Application Demo with Login

Mongoose Express Node Demo –  there is no AngularJS client as the demo and code is done purely through Express (no Angular Client) . It’s a great learning resource though on how a full app can hang together using Mongoose for MongoDB.

Great SPA Example for Facebook and MEAN stack – superb step by step demonstration on how to create a single page application (SPA) using the MEAN stack with Passport for Facebook Authentication.

I’ll be updating this list on a regular basis – feel free to suggest any improvements or additions. (please be nice). :)