Mean Stack developer Diploma

6 weeks

What You’ll Learn in Class:

Technologies that are central to the MEAN stack toolset
How MEAN embraces JavaScript end-to-end using MongoDB for the data layer, Node.js and Express for the server, and AngularJS for client-side

One of the main benefits of the MEAN stack is that a single language, JavaScript, runs on every level of the application, making it an efficient and modern approach to web development.

There are four main building blocks of every full-stack MEAN application:

  • MongoDB: a schema-less (document-oriented) NoSQL database
  • Express.js: a server-side JavaScript framework running on top of Node.js
  • Angular: a browser-independent MVC JavaScript UI framework
  • Node.js: a server-side JavaScript run-time based upon Google’s V8 JavaScript engine


All students will:

  • Understand the different Angular versions
  • Write correct template syntax
  • Incorporate components
  • Understand dependency injection
  • Create reactive Forms
  • Use the HttpClient Service to communicate with the server
  • Route requests within Angular applications
  • Build backend processing applications using Node
  • Build an HTTP server
  • Work with buffers, streams, and events
  • Store, retrieve, and modify data in the MongoDB NoSQL database


 Introducing the MEAN Stack

  • Angular
  • Node
  • Express
  • MongoDB

 Introducing Angular 5

  • User Experience similar to a Desktop Application
  • Productivity and Tooling
  • Performance
  • Community
  • Full-featured Framework
  • Platform for Targeting Native Mobile, not just Web Browsers

Angular 5/6 Features

  • Build Optimizer
  • Angular Universal State Transfer API and DOM Support
  • Compiler Improvements
  • Internationalized Number, Date, and Currency Pipes
  • Replace the ReflectiveInjector with StaticInjector
  • Zone Speed Improvements
  • ExportAs Multiple Names
  • HttpClient
  • Angular CLI v1.5
  • Angular Forms adds updateOn Blur / Submit
  • RxJS 5.5
  • New Router Lifecycle Events

 TypeScript and ECMAScript 6 (ES6) Fundamentals

  • Classes
  • ES Modules
  • Arrow Functions
  • Template Literals
  • Scoping using let and const Keywords
  • Spread Syntax and Rest Parameters
  • Destructuring
  • Decorators (JavaScript Aspect-Oriented Programming)

 Angular 5 Basics

  • Components
  • Inline Templates
  • Multi-line Templates using ES6 Template Literals
  • External with Component-relative Paths
  • Angular Modules vs. ES Modules
  • Models

 Template Syntax

  • HTML in templates
  • Interpolation
  • Binding syntax
  • Property binding
  • Event binding
  • Two-way data binding
  • Attribute, class, and style bindings
  • Built-in Directives
  • Template Input Variables
  • The NgSwitch Directives
  • Template Reference Variables
  • Input and output properties
  • Template Expression Operators
  • Pipe ( | )
  • Safe Navigation Operator ( ?. )


  • Component Lifecycle Hooks
  • Component Communication

 Services & Dependency Injection

  • Using a service to access data
  • Using a service to encapsulate business logic
  • Understanding the scope of services

 Dependency Injection

  • Understanding Dependency Injection
  • Angular’s Dependency Injection System
  • Registering
  • Injecting
  • Hierarchical Injection

 Model-driven Forms (Reactive Forms)

  • Importing the ReactiveFormsModule
  • FormControl, FormGroup, and AbstractControl
  • Binding DOM Elements to FormGroups and FormControls
  • Validation Rules, Messages, and Styles
  • Refactoring ReactiveForms for Reuse
  • Custom Validators

 RxJS and Observables

  • What is an Observable?
  • Observable Operators
  • Creating Observables Using Static Operators
  • What is an Observer?
  • Observer Example
  • Subject
  • Subject Example
  • EventEmitter or Observable

 Communicating with the Server using the HttpClient Service

  • Deciding between Promises or Observables (RxJS)
  • Making an HTTP GET Request
  • Sending data to the server using Http POST and PUT Requests
  • Issuing an Http DELETE Request
  • Intercepting Requests and Responses
  • WebSockets
  • Router
  • Importing the RouterModule and Routes
  • Configuring Routes
  • Displaying Components using a RouterOutlet
  • Navigating declaratively with RouterLink
  • Navigating with code using the Router
  • Accessing parameters using ActivatedRoute
  • Organizing your code into Modules

 Introducing Node

  • The Node.js framework
  • Installing Node.js
  • Using Node.js to execute scripts

 Node Projects

  • The Node Package Manager
  • Creating a project
  • The package.json configuration file
  • Global vs. local package installation
  • Automating tasks with Gulp.


  • The HTTP protocol
  • Building an HTTP server
  • Rendering a response
  • Processing query strings
  • Using Representational State Transfer
  • Configuring TLS


  • The model-view-controller pattern
  • Defining Jade and Handlebars templates
  • Building a front-end controller
  • Defining routes
  • Creating actions
  • Configuring Express to use Handlebars
  • Using REST
  • Reading POST data
  • Building Handlebars helpers
  • Adding middleware

 Data Sources

  • How Node.js connects to databases
  • RDBMS databases and NoSQL databases
  • Connecting to RDBMS and NoSQL databases
  • Performing CRUD operations
  • Building client requests to web services

 Getting Started with Mongo

  • Architecture
  • Retrieving Documents
  • Modifying data in Mongo
  • Indexing and Aggregation



Register This Course