THE

STACK

{ JavaScript all the way }

Satheesh

Full Stack Developer

Coined by Valeri Karpov, who was a MongoDB developer

  • What is MEAN Stack
  • Why MEAN
  • Who uses NODE
  • Apps Suited for NODE JS
  • Typical APP Architecture
  • Mongo DB
  • Angular JS
  • Express JS
  • Node JS
  • ToolBox

Agenda

What is MEAN Stack

A cross-platform document-oriented database

Web development  Framework for Node JS

Superheroic frontend framework 

Event Based concurrency environment


Full-stack JavaScript
solution that helps you
build fast, robust and
maintainable production
web applications using:

Why MEAN

SAME LANGUAGE, SAME OBJECTS

{“_id”: ObjectId(“512638a28b799”),
“username” : “johdoe” }
{“_id”: “512638a28b799”,
“username” : “johdoe” }
{“_id”: “512638a28b799”,
“username” : “johndoe” }

Who are using Node JS

  • E-Commerce
  • Payment Processing
  • Social Media
  • Real-time Services
  • Media Applications
  • Enterprise Services

Apps suited for Node JS

Typical App Architecture

-----------------------------------------------------------------------------------------------

NoSQL cross-platform document-oriented database system
  • JSON-like documents with dynamic schemas
  • Easier & faster to send data between client
  • and server (b/c data saved in JSON format)
  • Local Install:
    • MongoDB: http://www.mongodb.org/
  • MongoDB-as-a-Service:
    • Mongolab: https://mongolab.com
    • Modulus: https://modulus.io

Mongo DB

A lightweight framework used to build single and multi-page web applications in Node.JS

 

  • Wrapper for the core Node.js HTTP module objects.
  • Provides functions for everything you may need to build a modern web server
  • Middleware, routing, templating, static-files, cookies, mime-types and much much more

 

Express JS

Client-side MVC framework

 

  • AngularJS is what HTML would have been, had it been designed for building web-apps.
  • A swiss army knife of JavaScript MVW goodness
    • Two Way Data-Binding
    • Directives, Filters and Services
    • Templates
    • Dependency Injection
    • Bonus: Testing

Angular JS

Server-side JavaScript platform built on V8 engine

 

  • Helps building highly scalable and concurrent applications rapidly
  • Makes multithreaded server easy
  • Event based concurrency
  • Easy to modify and maintains apps, due to piped modules
  • What JavaScript has done for the web browser, Node.js is doing for the backend server

 

Node JS

Source:https://strongloop.com

Source:https://strongloop.com

THE TOOLBOX

LET'S CODE

[TIME TO GET OUR HANDS DIRTY]

Angular Components 1 of 3

❖ Directives: allows you to extend HTML to answer the needs        of web applications. Directives let you specify how your              page should be structured for the data available in a given        scope.
❖ Data Binding: allow defining the binding between the data          in the scope and the content of the views.
❖ Filters: allow modifying the way data is displayed.
❖ Partial Views: used specially in single page applications.

Angular Components 2 of 3

❖ Modules: Apps are structured in modules that can depend        on other modules and can contain controllers,                              services, directives and filters
❖ Controllers contain the application behavior. Controllers            populate the scope with all the necessary data for the view.      Using proper separation of concerns, controllers should            never contain anything related to the DOM.
❖ Scope is used to link the controllers and the views to which        they are binded

Angular Components 3 of 3

❖ Services: allow reusing code that should be abstracted from
     controller. Services can be injected in controllers or in other
     services.
❖ Dependency Injection: retrieves some elements of the                application that should be configured when the module will      be loaded
❖ Events: $broadcast and $emit

Resources

Node js Day06

By Tarun Sharma

Node js Day06

MEAN is an opinionated fullstack javascript framework - which simplifies and accelerates web application development.

  • 922