MERN

From CSE330 Wiki
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.

MERN is a set of Open Source components that together, provide an end-to-end framework for building dynamic web applications; starting from the front-end (presentation layer) to the back-end (data access layer). The stack is made up of:

  • React
  • Express.js
  • Node.js:
  • MongoDB:

Brief Introduction

React

React is a JavaScript library, developed by Facebook and Instagram, to build interactive, reactive user interfaces. It serves as a front-end web app framework. In this module, we will focus on React.

Express

Express is a Back-end web application framework running on top of Node.js. Express can handle the routing of requests to the right parts of your applicatioN (or to different apps running in the same environment). You can run the app's full business logic within Express and even generate the final HTML to be rendered by the user's browser. At the other extreme, Express can be used to simply provide a REST API – giving the front-end app access to the resources it needs e.g., the database. For more information, take a look at here.

Node.js

Node.js is a JavaScript runtime environment – lets you implement your application back-end in JavaScript. For more information, please review Node.JS.

MongoDB

MongoDB is a NoSQL database – used by your back-end application to store its data as JSON documents. MongoDB is an open-source, document database that provides persistence for your application data and is designed with both scalability and developer agility in mind. MongoDB bridges the gap between key-value stores, which are fast and scalable, and relational databases, which have rich functionality. Instead of storing data in rows and columns as one would with a relational database, MongoDB stores JSON documents in collections with dynamic schemas. MongoDB's document data model makes it easy for you to store and combine data of any structure, without giving up sophisticated validation rules, flexible data access, and rich indexing functionality. You can dynamically modify the schema without downtime – vital for rapidly evolving applications.