From CSE330 Wiki
Revision as of 17:27, 5 November 2014 by Todd (talk | contribs) (→‎Express)
Jump to navigationJump to search

Full Stack

In web development, full stack refers to all the layers involved in building a working web application, including data modeling, server, network, user interface, business logic etc. In this module we will focus on the technical layers that are essential for a successful web product, which translates to front end and back end skills.

MEAN is a collection of javascript frameworks and its components are: Front end: AngularJS (client side MVC) , Bootstrap* Back end: Express(server side MVC), with Node.js API Data Base: MongoDB


Can I use a SQL database instead of MongoDB? Or a different front end framework like instead of Angular? Sure, but these technologies work beautifully together as they all use the same language – Javascript. For the first time ever we can create web software applications entirely using one language and this gives developers tremendous power. The diagram below explains how things work:


MongoDB is a leading NoSQL database that uses JSON-style documents with dynamic schemas. It uses Javascript as a language to modify and query the database and JSON format to store the data Go through this very short tutorial for MongoDB here. This 5 minute tutorial will help you understand how MongoDB works as a noSQL DB service. Even though MongoDB is fast, scalable and easy to use, to make it work with the MEAN stack, we need an object modeling service called Mongoose.
Skim through the Mongoose guide (getting started) here to understand how it works.


Express is a minimal and flexible node.js web application framework, and has become the dominant server-side MVC framework for Node.js. Express defines the responses to each type of HTTP request at each defined route and treats the request and responses as objects you can manipulate in any way you see fitting. You will not be coding anything for Express in this module (already done by Take a look at it here


AngularJS is a client-side MVC javascript framework by Google and it aims to increase developer productivity and creativity by providing a complete solution for large-scale applications and many powerful out of the box features. AngularJS is important to this module. Please go through the tutorial here.



Bootstrap is the default front end framework for the project. Though you could switch to other frameworks such as Foundation pretty easily.