Web Age Solutions Inc
Providing Technology Training and Mentoring For Modern Technology Adoption
Web Age Aniversary Logo
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887
Course #:WA2497

MEAN JavaScript Technology Stack Training

Courseware: Available for sale

MEAN [MongoDB, Express, Angular, and Node.JS] represents a new breed of software platforms that creatively leverage a stack of production-ready technologies centered on JavaScript. This intensive training course introduces the students to the essential concepts, design principles, idioms, and techniques behind the efficient use of the MEAN JavaScript Technology Stack. Upon completion of this training course, students will have solid understanding of MEANS’ value proposition; they will also gain practical experience working with all the components of the MEAN stack. This high-octane training course is supplemented by hands-on labs that help the students reinforce their theoretical knowledge of the learned material.

What is Mean Stack? Our Mean Stack course goes in depth to answer this question. MEAN [MongoDB, Express, Angular, and Node.JS] represents a new breed of software platforms that creatively leverage a stack of production-ready technologies centered on JavaScript. This intensive training course introduces the students to the essential concepts, design principles, idioms, and techniques behind the efficient use of the MEAN JavaScript Technology Stack. Upon completion of this training course, students will have a solid understanding of MEANS’ value proposition; they will also gain practical experience working with all the components of the MEAN stack. This high-octane training course is supplemented by hands-on labs that help the students reinforce their theoretical knowledge of the learned material.

Our Mean Stack course is meant for developers, technical leads, and software architects. Participants should have basic knowledge of JavaScript programming and web development.

In this course, attendees will learn mean stack concepts, such as:

  • Detailed coverage of Angular
  • Essential MongoDB
  • Introduction to Node.js
  • Node.js applications
  • Debugging and Unit testing on Node.js
  • Express middleware
  • Jade Template Engine
  • Elements of performance tuning of Node.js applications on multi-core processors

Our Mean Stack course continues to be in high demand. The topics covered in the course are

  • Introduction to Angular
  • Introduction to TypeScript
  • Components
  • Component Templates
  • Inter Component Communication
  • Template Driven Forms
  • Reactive Forms
  • Introduction to MongoDB
  • MongoDB data model
  • MongoDB architecture
  • MongoDB administration
  • Working with data in MongoDB
  • Indexes in MongoDB
  • Introduction to Node.js
  • Module and dependency management
  • The file system module
  • Basic web application development
  • Debugging and unit testing
  • Introduction to express
  • Jade template
  • Introduction to single page application
  • The route service
  • Clustering and failover

Web Age Mean Stack Training can be delivered in traditional classroom style format. You can also learn mean stack in a synchronous instructor-led format.

Topics

  • Detailed coverage of Angular
  • Essential MongoDB
  • Introduction to Node.js
  • Node.js applications
  • Debugging and Unit testing on Node.js
  • Express middleware
  • Jade Template Engine
  • Elements of performance tuning of Node.js applications on multi-core processors

Audience

Developers, Technical Leads, and Software Architects.

Prerequisites

Participants should have basic knowledge of JavaScript programming and web development.

Duration

5 days

Outline of MEAN JavaScript Technology Stack Training

Chapter 1. Introducing Angular

  • What is Angular?
  • Central Features of the Angular Framework
  • Appropriate Use Cases
  • Building Blocks of an Angular Application
  • Basic Architecture of an Angular Application
  • Installing and Using Angular
  • Anatomy of an Angular Application
  • Running the Application
  • Building and Deploying the Application
  • Summary

Chapter 2. Introduction to TypeScript

  • Programming Languages for Use with Angular
  • TypeScript Syntax
  • Programming Editors
  • The Type System – Defining Variables
  • The Type System – Defining Arrays
  • Type in Functions
  • Type Inference
  • Defining Classes
  • Class Methods
  • Class Constructors
  • Class Constructors – Alternate Form
  • Interfaces
  • Working with ES6 Modules
  • Visibility Control
  • var vs let
  • Arrow Functions
  • Arrow Function Compact Syntax
  • Arrow Function and Caller Context
  • Template Strings
  • Generics in Class
  • Generics in Function
  • Generics - Restricting Types
  • TypeScript Transpilation
  • Summary

Chapter 3. Components

  • What is a Component?
  • An Example Component
  • Creating a Component Using Angular CLI
  • The Component Class
  • The @Component Decorator
  • Registering a Component to Its Module
  • Component Template
  • Example: HelloComponent Template
  • Example: The HelloComponent Class
  • Using a Component
  • Run the Application
  • Component Hierarchy
  • The Application Root Component
  • The Bootstrap File
  • Component Lifecycle Hooks
  • Example Lifecycle Hooks
  • CSS Styles
  • Summary

Chapter 4. Component Templates

  • Templates
  • Template Location
  • The Mustache {{ }} Syntax
  • Setting DOM Element Properties
  • Setting Element Body Text
  • Event Binding
  • Expression Event Handler
  • Prevent Default Handling
  • Attribute Directives
  • Apply Styles by Changing CSS Classes
  • Example: ngClass
  • Applying Styles Directly
  • Structural Directives
  • Conditionally Execute Template
  • Example: ngIf
  • Looping Using ngFor
  • ngFor Local Variables
  • Manipulating the Collection
  • Example - Deleting an Item
  • Item Tracking with ngFor
  • Swapping Elements with ngSwitch
  • Grouping Elements
  • Template Reference Variable
  • Summary

Chapter 5. Inter Component Communication

  • Communication Basics
  • The Data Flow Architecture
  • Preparing the Child to Receive Data
  • Send Data from Parent
  • More About Setting Properties
  • Firing Event from a Component
  • @Output() Example - Child Component
  • @Output() Example - Parent Component
  • Full Two Way Binding
  • Setting up Two Way Data Binding in Parent
  • Summary

Chapter 6. Template Driven Forms

  • Template Driven Forms
  • Importing Forms Module
  • Basic Approach
  • Setting Up a Form
  • Getting User Input
  • Omitting ngForm Attribute
  • Initialize the Form
  • Two Way Data Binding
  • Form Validation
  • Angular Validators
  • Displaying Validation State Using Classes
  • Additional Input Types
  • Checkboxes
  • Select (Drop Down) Fields
  • Rendering Options for Select (Drop Down)
  • Date fields
  • Radio Buttons
  • Summary

Chapter 7. Reactive Forms

  • Reactive Forms Overview
  • The Building Blocks
  • Import ReactiveFormsModule
  • Construct a Form
  • Design the Template
  • Getting Input Values
  • Initializing the Input Fields
  • Setting Form Values
  • Subscribing to Input Changes
  • Validation
  • Built-In Validators
  • Showing Validation Error
  • Custom Validator
  • Using a Custom Validator
  • Supplying Configuration to Custom Validator
  • Sub FormGroups - Component Class
  • Sub FormGroups - HTML Template
  • Why Use Sub FormGroups
  • Summary

Chapter 8. Introduction to MongoDB

  • MongoDB
  • MongoDB Features
  • MongoDB's Logo
  • Positioning of MongoDB
  • MongoDB Applications
  • MongoDB Data Model
  • MongoDB Limitations
  • MongoDB Use Cases
  • MongoDB Query Language (QL)
  • The CRUD Operations
  • The
  • find
  • Method
  • The
  • findOne
  • Method
  • A MongoDB QL Example
  • Data Inserts
  • MongoDB vs Apache CouchDB
  • Summary

Chapter 9. MongoDB Data Model

  • The BSON Data Format
  • Database Terminology
  • MongoDB Data Model
  • The _id Primary Key Filed Considerations
  • Indexes
  • (Traditional) Data Modeling in RDBMS
  • Data Modeling in MongoDB
  • An Example of a Data Model in MongoDB
  • MongoDB Data Modeling
  • A Sample JSON Document Matching the Schema
  • To Normalize or Denormalize?
  • MongoDB Limitations
  • Data Lifecycle Management
  • Data Lifecycle Management: TTL
  • Data Lifecycle Management: Capped Collections
  • Summary

Chapter 10. MongoDB Architecture

  • MongoDB Nexus Architecture
  • Blending the Best of Both Worlds
  • What Makes MongoDB Fast?
  • Pluggable Storage Engines
  • Data Sharding
  • Sharding in MongoDB
  • Data Replication
  • A Sample Sharded Cluster Diagram
  • GridFS
  • Getting a File from GridFS
  • MongoDB Security
  • Authentication
  • Data and Network Encryption
  • Summary

Chapter 11. MongoDB Administration

  • The Admin Shell
  • Getting Help
  • Admin Commands
  • Starting MongoDB
  • The mongod Web UI
  • Running MongoDB .JS Scripts
  • Shell Helper to JavaScript Equivalent Map
  • A MongoDB Script Example
  • Connecting to MongoDB
  • User Authentication
  • Authentication Options
  • Import / Export Operations
  • MongoDB Extended JSON and Strict Mode
  • Examples of Strict Mode Encoding
  • Examples of Data Import / Export
  • The Robomongo Tool
  • Robomongo Features
  • Summary

Chapter 12. Working with Data in MongoDB

  • Reading Data in MongoDB
  • The Query Interface
  • Query Syntax is Driver-Specific
  • Projections
  • Query and Projection Operators
  • MongoDB Query to SQL Select Comparison
  • Cursors
  • Cursor Expiration
  • Writing Data in MongoDB
  • An Insert Operation Example
  • The Update Operation
  • An Update Operation Example
  • A Remove Operation Example
  • Limiting Return Data
  • Data Sorting
  • Aggregating Data
  • Aggregation Stages
  • Accumulators
  • An Example of an Aggregation Pipe-line
  • Map-Reduce
  • Summary

Chapter 13. Indexes in MongoDB

  • Indexes in MongoDB
  • Creating an Index
  • Listing Existing Indexes
  • The Sort Order
  • Using the Explain() Method
  • Main Index Types
  • The _id Field
  • Single and Compound Indexes
  • Multikey Indexes
  • Other Index Types
  • Index Properties
  • Examples of Creating Indexes with Index Properties
  • Summary

Chapter 14. Introduction to Node.js

  • What is Node.js?
  • Application of Node.js
  • Installing Node.js and NPM
  • "Hello, Node World!"
  • How it Works
  • Built on JavaScript – benefits
  • Traditional Server-Side I/O Model
  • Disadvantages of the traditional Approach
  • Event-Driven, Non-Blocking I/O
  • Concurrency
  • Using Node Package Manager (NPM)
  • Express
  • Summary

Chapter 15. Module and Dependency Management

  • Nature of a Node.js Project
  • Introduction to Modules
  • A Simple Module
  • Using the Module
  • Directory Based Modules
  • Example Directory Based Module
  • Using the Module
  • Making a Module Executable
  • Core Modules
  • Loading Module from node_modules Folders
  • Dependency Management Using NPM
  • Installing a Package
  • About Global Installation
  • Setting Up Dependency
  • Package Version Numbering Syntax
  • Updating Packages
  • Uninstalling Packages
  • Alternate Dependency Management
  • Summary

Chapter 16. The File System Module

  • Introduction
  • Basic File Manipulation
  • Getting File/Directory Meta Data
  • Read an Entire File
  • The Buffer Class
  • Writing to a File
  • Reading in Chunks
  • Writing in Chunks
  • The open() Method
  • Stream API
  • The Readable Interface
  • Example Reading Data in Chunks
  • The Writable Interface
  • Summary

Chapter 17. Basic Web Application Development

  • Introduction to the HTTP Module
  • The Request Handler Callback Function
  • The Server Object
  • Example Use of Server Object
  • The Request Object
  • The Response Object
  • Parsing Request Body
  • Serving Static Files
  • The HTTP Client API
  • Making POST/PUT/etc. Requests
  • Where To go from Here?
  • Summary

Chapter 18. Debugging and Unit Testing

  • Problem Determination Options
  • Using console.log
  • Using the debug Logging Package
  • Configure Logging
  • The Node Inspector Debugger
  • Basic Usage of the Debugger
  • Unit Testing Node.js Applications
  • Getting Setup
  • Writing a Test Script
  • Running Unit Test
  • Testing Asynchronous Code
  • Using the Chai Assert API
  • The Chai Expect API
  • Summary

Chapter 19. Introduction to Express

  • Introduction to Express
  • Basic Routing Example
  • Defining Routing Rules
  • Route Path
  • The Response Object
  • Supplying URL Parameters
  • Ordering of Routes
  • Defining Catch All Route
  • Full Example Web Service
  • Summary

Chapter 20. Express Middleware

  • Introduction to Express Middleware
  • Writing a Middleware Function
  • Binding to a Path
  • Order of Execution
  • Raising Error
  • Handling Error
  • Serving Static Files
  • Handling POST Request Body
  • Enable Response Compression
  • Summary

Chapter 21. Accessing MongoDB from Node.js

  • Getting Started
  • The Connection URL
  • Obtaining a Collection
  • Inserting Documents
  • Updating a Document
  • Querying for Documents
  • Deleting a Document
  • Connection Pooling
  • Summary

Chapter 22. Jade Template Engine

  • Introduction to Jade
  • Using Jade
  • A Simple Template
  • Passing Data to a Template
  • Basic HTML Tag Rendering
  • Rendering Values
  • Conditional Rendering
  • Rendering a List
  • Layout Template
  • Creating a Layout Template
  • Creating a Content Template
  • Summary

Chapter 23. Introduction to Single Page Application

  • What is a Single Page Application (SPA)?
  • How is it Any Different?
  • Why Create SPA?
  • It's Not All or Nothing
  • Challenges to SPA
  • Implementing SPA Using Angular
  • Simple SPA Using Visibility Control
  • Dynamic Templates Using ng-include
  • Example of Dynamic Template
  • SPA Using the $route Service
  • Summary

Chapter 24. The Route Service

  • Introduction to the Route Service
  • Downloading the Route Service Code
  • Using the Route Service
  • Setting up the Route Table
  • URL Fragment Identifier
  • Showing the Views
  • Navigation
  • The $location Service
  • Programmatic Navigation
  • Controllers for the Views
  • Example Controllers for Views
  • Passing URL Parameters
  • Accessing Query Parameters
  • Configuring Route Parameters
  • Accessing Route Parameters
  • HTML5 Mode
  • Using the HTML5 Mode
  • Bookmarking HTML5 Mode URL
  • Summary

Chapter 25. Clustering and Failover

  • Process Management
  • Managing the Process Using OS Tools
  • Installing a Service in Window
  • Create an Upstart Script in Ubuntu
  • Process Management Using forever
  • Clustering Basics
  • Example Clustered Application
  • More About Clustering
  • Child Process Failover
  • Summary

Lab Exercises

Lab 1. Introduction to Angular

Lab 2. Introduction to TypeScript

Lab 3. Introduction to Components

Lab 4. Component Template

Lab 5. Create a Photo Gallery Component

Lab 6. Template Driven Form

Lab 7. Create an Edit Form

Lab 8. Reactive Form

Lab 9. Learning the MongoDB Lab Environment

Lab 10. The MongoDB Database Operations

Lab 11. The MongoDB Admin Shell

Lab 12. Import Export Operations in MongoDB 

Lab 13. Working with Data in MongoDB

Lab 14. Getting Started With Node.js

Lab 15. Basics of a Node.js Module

Lab 16. Using Node Package Manager (npm)

Lab 17. Building Module Dependency

Lab 18. Using the Stream API

Lab 19. Basic Web Application Development

Lab 20. Debugging a Node.js Application

Lab 21. Introduction to Unit Testing

Lab 22. Web Service Using Express

Lab 23. Using MongoDB

Lab 24. Using the Jade Template Engine

Lab 25. Basic Single Page Application (SPA)

Lab 26. Using the Route Service

Lab 27. Clustering a Node.js Application

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887