MEAN Stack Developer

Mean Stack Web Development makes you proficient in skills to work with back-end and front-end web technologies. It includes training on Web Development, jQuery, Angular, NodeJS, ExpressJS and MongoDB

MEAN Stack Development Curriculum

Deploying the first Website to Amazon S3

Learning Objectives - In this module you will learn the basics of web development and how to deploy your first website on Amazon Simple Storage Service. 

Topics - Writing HTML code using Header Tags, Paragraphs, Ordered and Unordered lists, Forms , Links, Tables, Iframes, Images, Text Formatting, Image Maps. Creating an Amazon Web Services (AWS) account and how to deploy a static website to AWS Simple Storage Service (S3).

Creating web pages with HTML5

Learning Objectives - In this module you will learn how to use all the elements introduced in HTML5 and their features.

Topics - Encoding URL, Introduction to XHTML, Using HTML5 introduced features, Handling of mulitple file upload using multiple attribute, HTML5 Local Storage, HTML5 form validate/novalidate, HTML5 canvas, Embedding audio and video in a webpage, drag and drop, HTML5 web workers and server sent events

Styling web pages using CSS

Learning Objectives - In this module, you will learn how to style the HTML elements. You will learn the different ways to write CSS like external, internal, inline. 

Topics - Styling of HTML elements-text, links, lists and tables. Different ways to write CSS e.g. external, internal, inline. Creating Navigation Bars. Writing Media Rules, hide visibility of an element. CSS Image Sprites and Gradients. CSS Pseudo Classes and Pseudo Elements

CSS3 effects and animations

Learning Objectives - In this module you will learn about CSS3 Text Effects using different text fonts. Creating 2D and 3D transformations and applying animations, transitions to HTML elements. You will also learn how to use CSS3 resize UI and multiple columns feature 

Topics - CSS3 Text Effects using different text fonts. Creating 2D and 3D transformations and applying animations,transitions to HTML elements. CSS3 resize UI and multiple columns feature

Handling events with JavaScript

Learning Objectives - In this module you will learn the basics of JavaScript. At the end you will learn how to manipulate DOM elements 

Topics - Java Script datatypes, variables, arrays. Creating loops and writing if-else decision making statements. Defining and calling JavaScript functions on events. Manipulating DOM elements

Twitter Bootstrap 3

Learning Objectives - In this module you will get started with one of the topmost CSS and JS framework Twitter Bootstrap 3 which makes the web development fast and easy. You will learn how to include Bootstrap in the project and use different Bootstrap features like fixed drop down menu, carousel, text and image grids. 

Topics - Getting started with Twitter Bootstrap 3. Bootstrap features like fixed drop down menu, carousel, text and image grids, custom thumbnails,bootstrap modal. Using Font Awesome Icons

Twitter Bootstrap 3 Project

Learning Objectives - In this module you will create a complete website using Twitter Bootstrap 3 features that you learnt in the previous module. 

Topics - Building a real world website using Twitter Bootstrap 3 features e.g. bootstrap fixed dropdown menu, carousel, bootstrap modal, font awesome icons, custom thumbnails, text and image grids, accordions, signin/signup form and jumbotron

Bootstrap ScrollSpy, jQuery and jQuery UI.

Learning Objectives - In this module you will learn about one of the cool features of Bootstrap-Bootstrap ScrollSpy. You will learn how to build a website using Bootstrap ScrollSpy feature. You will also get introduced to jQuery and will learn how to use jQuery UI components e.g Datepicker into your HTML pages. At the end you will learn how to create a Countdown timer using one of the jQuery timer API which can be used to create a timer for an upcoming event 

Topics - Bootstrap ScrollSpy, Including jQuery in HTML pages. Using jQuery UI components e.g Datepicker into your HTML pages. Creating a Countdown timer using jQuery timer API

Ajax, Google APIs, Social Plugins

Learning Objectives - In this module you will learn about Asynchronous JavaScript and XML popularly known as AJAX. You will also learn how to make ajax calls to Google APIs and process the response. At the end you will learn how to include social plugins on your web page provided by LinkedIn, Facebook, Quora and Twitter 

Topics - AJAX XMLHttpRequest object, making an AJAX call and retrieving the response. Working with Google APIs Adding social plugins on your web page provided by LinkedIn, Facebook, Quora and Twitter

Project - Building Website Tour

Learning Objectives -  In this module we will integrate tour feature in the website using Bootstrap tour JavaScript.

Topics -  Integrating Bootstrap tour into website, starting and stopping the tour

Introducing jQuery

Learning Objectives - In this module, you will understand about jQuery and overview of what jQuery does for web pages. you will also learn Basics of HTML & CSS and how jQuery is used to manipulate your DOM & CSS Selectors.

Topics - Intro to jQuery & History, The jQuery Object($), Basic DOM HTML Document/Page Types, CSS Selectors, IDE's for jQuery, jQuery CDN & Installation. jQuery Functions, Selectors, Querying DOM, Traversing the DOM. jQuery Selectors, jQuery Basic Functions. DOM Traversing.

DOM Manipulation & jQuery Effects

Learning Objectives - In this module, you will learn how jQuery is used manipulate DOM easily, Also you will learn about readily available jQuery effects that can be applied to a web page to make Rich Interactive Websites.

Topics - Adding and Removing DOM elements, Iterating with each(), DOM elements, Modifying Properties and Attributes. jQuery Filters, jQuery Effects, hide/show, fading methods, chaining, Animate Function.

jQuery Forms & Events

Learning Objectives - In this module, you will learn jQuery Event event delegation and various events type in

Topics - jQuery Form Selectors, Form Validation, Form Submission, Events, Event Handling, jQuery on() & off() , Custom Events and Triggers.

jQuery AJAX & Utilities

Learning Objectives - In this module, you will learn about AJAX and how you can communicate with a server using jQuery inbuilt functions and other jQuery utilities.

Topics - AJAX using jQuery, Interacting with Server-Side, PHP and $.each and Templating, Twitter/Github API, Deferreds.

jQuery Plugins

Learning Objectives - In this module, you will learn about jQuery plugins, how to use them into your web projects and basic plugin development.

Topics - jQuery 3rd party plugins, Plugin Implementation, Plugin Development.

jQuery UI

Learning Objectives - In this module, you will learn about jQuery UI and single UI Component. We will look through the APIs of each Component.

Topics - Accordion Widget, Tabs Widget, Tooltip Widget, Menu Widget, Widget, Datepicker Widget, jQuery Mobile.

jQuery Mobile Introduction

Learning Objectives - In this module, you will learn about Basics of jQuery Mobile. And also various UI components available in jQuery Mobile.

Topics - jQuery Mobile CSS Framework, jQuery Mobile Events, Mobile Widgets

Introduction to JavaScript MVC Framework & Angular

Goal: Introduce JavaScript MVC and Angular

Objectives: Upon completing this lesson, you should be able Compare JavaScript Design Patterns - MVC, Explain Client side SPA, Libraries, and Frameworks, Demonstrate Typescript, Setup Angular Project

Topics: JavaScript MVC, SPA Intro, NodeJS Intro (NPM), Typescript Introduction (Introduction, When to use types / When not), Angular Hello World Demo

Hands On: Angular Project Setup and Hello World
Components and DOM Interactions
Goal: Explain its components, and related interactions

Objectives:  Upon completing this lesson, you should be able to: Express how Angular works, Describe Components and Creation, Work with Multiple components, Work with DOM manipulation API

Hands On: Creating components and using Metadata, Multiple Components and Passing data, Introduction to DOM Manipulation using Angular APIs

Components and Dependency Injection
Goal: Discuss the dependency injection, and application strategies

Objectives:Upon completing this lesson, you should be able to: Describe Dependency Injection, Describe creation and working with Injectable dependencies, Express Change detection and Emulation strategies, Work with Application lifecycle hooks

Topics:  Component creation strategies, Angular lifecycle hooks, Introduction to Dependency Injection, Sharing data between components

Hands On: Using component creation strategies and related metadata, Using Angular lifecycle hooks, Working with Services and Dependency Injection

Routes, Inbuilt Directives and Pipes
Goal: Describe the working of SPA routes and using inbuilt Directives/Pipes
 
Objectives: Upon completing this lesson, you should be able to: Analyze Application cleanliness and Angular Modules, Work with SPA Routes, Work with inbuilt, Directives and Forms, Work with inbuilt Pipes

Topics: Angular Modules, Routes (Simple and Nested), Inbuilt Directive, Inbuilt Pipes

Hands On: Working with Routes, Working with Multiple Modules, Inbuilt Directives and Forms, Inbuilt Pipes

Custom Directives and Pipes
Goal: Creation of custom reusable functionalities

Objectives: Upon completing this lesson, you should be able to: Work with custom directives, Work with custom pipes, Work with HTTP features, 
Describe how Promises and Observables work

 

Topics: Custom Directives, Custom Pipes, Inbuilt Features - HTTP Request

Hands On: Creating custom Directives, Creating custom Pipes, Inbuilt Features - HTTP Requests

Third-party Library Integration, Other APIs
Goal:  Working with External Libraries and using Angular APIs

Objectives: Upon completing this lesson, you should be able to: Work with External / Third party Libraries like JQuery / Socket.IO, Discuss and Work with other APIs, Analyze options available for upgrading from 1.x, Discuss the concept of Internationalization and Localization

Topics: Introduction to Third party library integration, Introduction to SystemJS/CommonJS, Integrating JQuery / Socket.io, Introduction to i18n and l10n, Touch Angular 1.x to 2.x (or Higher usage) - Do’s and Don’ts, Other APIs

Hands On: Introduction to Third party library integration, Third party Library integration, Socket.IO usage, I18N and L10N, Other APIs

Unit Testing and Angular-CLI

Goal: Explain Unit testing in Angular and Working with Angular-CLI


Objectives: Upon completing this lesson, you should be able to: Describe Unit testing and TDD concepts, Work with Jasmine Framework, Work with Angular-CLI, Work with Angular-CLI for Test environment setup, Work with other Angular application development Tools

 

Topics: Unit Testing, related Tools, and TDD, Introduction to Jasmine Framework, Introduction to Angular CLI, Unit Test Environment and set up using Angular CLI, Other Tool


Hands On : Unit testing Jasmine, Creating a Project with Angular-CLI, Creating Test environment and tests for Angular application

Project / Use Cases

Goal: Learn how to create an Angular Application


Objectives: Upon completing this lesson, you should be able to: Develop Angular Applications and work with Data.


Project / Use-Cases: 

Use-Case 1 – Simple Employee Management 

Use-Case 2 – Top Movies 

Use-Case 3 – Grocery list Management 

Project – Shopping Cart Application

Getting started with Node.js and ExpressJS

Learning Objectives - In this module you will learn what is Node.js and what makes Node.js so popular. You will also learn how to use Node Package Manager (NPM), ExpressJS Framework and we will create a ExpressJS application and deploy it to Heroku. We will also see how to use Nodemon. 

Topics - What is NodeJS, Installing NodeJS, Node Package Manager (NPM), ExpressJS Framework, Building first Node App using Express, Pushing code to GitHub, Deploying application to Heroku, Using Nodemon.

Building application with EJS Template

Learning Objectives - In this module you learn about templating engines specifically EJS, EJS partials and how to modularize code. You will also learn how to use Bootstrap framework. At the end of the module we will create an express app using EJS template and deploy it to Heroku.

Topics - JavaScript Templating Engines, Creating project using EJS template, Twitter Bootstrap, How to modularize code by separating routes, How to use EJS partials, Deploy code to Heroku.

Building Application using Jade and Handlebars template

Learning Objectives - In this module, we will continue working with different templating engines, we will work with Jade and Handlebars template engines. You will learn how to build applications using Jade and Handlebars and how to deploy it to Heroku.

Topics - Jade Templating Engine, Getting started with Jade, Using Jade to create a web app, Deploying Jade application to Heroku, Handlebars Templating Engine, Handlebars templates and partials, Using Handlebars to create a web app, Deploying Handlebars application to Heroku.

Build Web Applications using ExpressJS & MongoDB

Learning Objectives - In this module you will be introduced to MongoDB and Mongoose. Understanding Mongoose Schema and Model and using body-parser and express-session modules. Hashing passwords with bcrypt, Performing Authentication using MongoDB, Implementing SignUp, Login, Logout features. We will build a story creation application.

Topics - Introduction to MongoDB, Getting started with Mongoose, Understanding Mongoose Schema and Model, Using body-parser and express-session modules, Using chalk to differentiate log messages, Hashing passwords with bcrypt, Performing Authentication using MongoDB, Implementing SignUp, Login, Logout features.

Build Web Applications using ExpressJS & MongoDB - Part 2

Learning Objectives - In this module we will continue our story creation app by adding Summernote editor, Saving user stories, Generating a slug for each story, Handling 404 and 500 errors, Using MongoLabs hosted MongoDB as our database, Deploying the applicatoion to Heroku, Buying Domain and setting custom domain for Heroku application.

Topics - Summernote editor, Saving user stories, Generating a slug for each story, Handling 404 and 500 errors, Using MongoLabs hosted MongoDB as our database, Deploying the applicatoion to Heroku, Buying Domain and setting custom domain for Heroku application.

Building Realtime Chat Application using Socket.IO

Learning Objectives - In this module you will be introduced to WebSocket and Socket IO, Getting started with Socket IO, Handling events at server and client side, Designing the chat UI, Handling private and public messages, Deploying the chat application to Heroku. 

Topics - Introduction to WebSocket and Socket IO, Getting started with Socket IO, Handling events at server and client side, Designing the chat UI, Handling private and public messages, Deploying the chat application to Heroku.

Build Systems - Grunt and Gulp, Testing with Mocha and Chai

Learning Objectives - In this module you will learn what is a Build System and why we need a build system. Getting started with Grunt Creating grunt tasks for CSS, JS minification and watch. Getting started with Gulp, Writing gulp tasks for CSS, JS minification and watch. Writing test cases with Mocha and Chai.

Topics - What is a Build System and why we need a build system. Getting started with Grunt Creating grunt tasks for CSS, JS minification and watch. Getting started with Gulp, Writing gulp tasks for CSS, JS minification and watch. Writing test cases with Mocha and Chai.

Getting started with Hapi and Meteor

Learning Objectives -In this module, you will get started with Hapi framework, writing a basic app with Hapi. Using Amazon Relational Database Service (RDS) to host MySQL database. Getting started with Meteor. How to choose a web framework from Express, Hapi and Meteor.

Topics - Getting started with Hapi, writing a basic app with Hapi. Using Amazon Relational Database Service (RDS) to host MySQL database.Getting started with Meteor How to choose a web framework from Express, Hapi and Meteor.

Introduction to MongoDB - Architecture and Installation
Goal: In this module, you will get an understanding of NoSQL databases, design goals, requirement of NoSQL database/ MongoDB, MongoDB® architecture and introduction to JSON and BSON among others. This module will also cover the installation of MongoDB® and associated tools.

Skills
• Understand NoSQL databases and their advantages
• Learn JSON and BSON
• Install MongoDB

Objectives
After completing this module, you should be able to:
• Differentiate database categories
• Learn MongoDB design goals 
• List MongoDB tools
• Describe JSON and BSON
• Install MongoDB on Windows, Linux, MAC OS etc. 
• Setup MongoDB environment

Topics
• Understanding the basic concepts of a Database
• Database categories: What is NoSQL? Why NoSQL? Benefit over RDBMS 
• Types of NoSQL Database, and NoSQL vs. SQL Comparison, ACID & Base Property
• CAP Theorem, implementing NoSQL and what is MongoDB? 
• Overview of MongoDB, Design Goals for MongoDB Server and Database, MongoDB tools
• Understanding the following: Collection, Documents and Key/ Values, etc.,
• Introduction to JSON and BSON documents
• Environment setup (live Hands-on) and using various MongoDB tools available in the MongoDB Package
• Case study discussion

Hands-on/Demo/Use-case
• MongoDB Installation 
Schema Design and Data Modelling
Goal: In this module, you will learn Schema Design and Data Modelling in MongoDB®, various data structure and tools available to manage Data Model in MongoDB.

Skills
• Understand Data Modelling Schemas
• Design Data Model relationships and tree structures
• Apply Data Modelling in various real-time contexts

Objectives: After completing this module, you should be able to:
• Understand different concepts of data modeling in MongoDB®
• Understand different types of data model
• Understand the challenges of designing a data model in MongoDB®
• Apply the knowledge of a real-world use case

Topics
• Data Modelling Concepts
• Why Data Modelling? Data Modelling Approach
• Analogy between RDBMS & MongoDB Data Model, MongoDB Data Model (Embedding & Linking)
• Challenges for Data Modelling in MongoDB
• Data Model Examples and Patterns
• Model Relationships between Documents
• Model Tree Structures 
• Model Specific Application Contexts
• Use Case discussion of Data modeling

Hands-on/Demo/Use-case
• HR Data Modeling in RDBMS
CRUD Operations
Goal: In this module, you will get an understanding of CRUD Operations and their functional usage. You will learn how to perform read/write operations with CRUD.

Skills
• Insert, query, update, and delete documents
• Perform distributed read/write operations
• Perform query optimization

Objectives: After completing this module, you should be able to:
• Understand MongoDB's development and production architecture
• Understand read and write concepts of MongoDB
• Understand how Journaling works
• Use Mongo shell for CRUD operations
• Understand different MongoDB® data types

Topics
• MongoDB Development Architecture
• MongoDB Production Architecture
• MongoDB CRUD Introduction, MongoDB CRUD Concepts
• MongoDB CRUD Concerns (Read & Write Operations) – 
• Concern Levels, Journaling, etc., 
• Cursor Query Optimizations, Query Behavior in MongoDB
• Distributed Read & Write Queries
• MongoDB Datatypes
• MongoDB CRUD Syntax & Queries (Live Hands on)

Hands-on/Demo/Use-case
• MongoDB CRUD Operation
Indexing and Aggregation Framework
Goal: In this module, you will learn the Indexing and Aggregation Framework in MongoDB®.

Skills
• Create multiple types of Indexes
• Manage indexes and indexing strategies
• Work with Geospatial indexes
• Use MapReduce framework

Objectives
After completing this module, you should be able to:
• Use various type of indexes in MongoDB® 
• Use hint, explain plan of a query
• Work with Geospatial indexes
• Work with Aggregation Pipeline in MongoDB® 
• Use MapReduce framework

Topics
• Index Introduction, Index Concepts, Index Types, Index Properties 
• Index Creation and Indexing Reference
• Introduction to Aggregation 
• Approach to Aggregation
• Types of Aggregation (Pipeline, MapReduce & Single Purpose)
• Performance Tuning.

Hands-on/Demo/Use-case
• Work with Aggregations
MongoDB Administration
Goal: In this module you will learn MongoDB® administrative activities such as Health Check, Backup, Recovery, Data Import/Export, Performance tuning, etc.   

Skills
• Administer database health, query volume, recovery goals
• Determine performance characteristics

Objectives
After completing this module, you should be able to:
• Take database backup and restore MongoDB®
• Export and import data from/ to a MongoDB® instance  
• Check server status and DB status
• Monitor various resource utilization of a mongod instance 
• Understand various optimization strategies
• Create capped collection
• Use TTL in MongoDB®

Topics
• Administration concepts in MongoDB
• Monitoring issues related to Database
• Monitoring at Server, Database, Collection level, and various Monitoring tools related to MongoDB
• Database Profiling, Locks, Memory Usage, No of connections, page fault etc.,
• Backup and Recovery Methods for MongoDB
• Export and Import of Data to and from MongoDB
• Run time configuration of MongoDB
• Production notes/ best practices
• Data Managements in MongoDB (Capped Collections/ Expired data from TTL), Hands on Administrative Tasks.

Hands-on/Demo/Use-case
• Import and Export MongoDB® Data
Scalability and Availability
Goal: In this module, you will understand the setup and configuration of MongoDB® High Availability, Disaster Recovery, and Load Balancing.

Skills
• Create, deploy, and manage Replica sets
• Create and administer Sharded clusters
• Perform Data Partitioning with chunks

Objectives
After completing this module, you should be able to:
• Understand the concepts of replica set 
• Understand the concept of sharing in MongoDB® 
• Create a production like Sharded cluster

Topics
• Introduction to Replication (High Availability)
• Concepts around Replication
• What is Replica Set and Master Slave Replication? 
• Type of Replication in MongoDB
• How to setup a replicated cluster & managing replica sets etc., 
• Introduction to Sharding (Horizontal Scaling), 
• Concepts around Sharding, what is shards, Key, 
• Config Server, Query Router etc. 
• How to setup a Sharding,
• Type of Sharding (Hash Based, Range Based etc.), and Managing Shards.

Hands-on/Demo/Use-case
• Replication setup
• Set up Sharding
MongoDB Security
Goal: In this module, you will learn security related with MongoDB, Integration with various tools and technology. Also, you will learn to integrate it with various reporting and Analytical tools like Pentaho, Jaspersoft etc.

Skills
• Setup authentication and encryption
• Integrate MongoDB with various tools and applications

Objectives
After completing this module, you should be able to:
• Know security concepts in MongoDB®
• Understand how Authentication and Authorization works
• Integrate MongoDB® with Java
• Integrate MongoDB® with Hadoop, Hive, & Pentaho
• Integrate MongoDB® with Jaspersoft & Robomongo

Topics
• Security Introduction
• Security Concepts
• Integration of MongoDB with Jaspersoft
• Integration of MongoDB with Pentaho
• Integration of MongoDB with Hadoop/Hive
• Integration of MongoDB with Java
• Integration of MongoDB with GUI Tool Robomongo 
• Case Study MongoDB and Java

Hands-on/Demo/Use-case
• Integration Scenarios 
Application Engineering and MongoDB Tools
Goal: In this module, you will learn MongoDB® tools to develop and deploy your applications. This module will also help you understand the multiple package components and advance concepts related to MongoDB integration, Hadoop and MongoDB integration.

Skills
• Perform MongoDB packaging
• Setup limits and thresholds
• Integrate with R

Objectives
After completing this module, you should be able to:
• Use MongoDB® tools 
• Understand Jaspersoft integration with MongoDB®
• Know other popular use case of MongoDB®
• Know various API drivers available for MongoDB® 
• Run few query operators through http interface

Topics
• MongoDB Package Components
• Configuration File Options
• MongoDB Limits and Thresholds
• Connection String URI Format/ Integration of any compatible tool with MongoDB API and Drivers for MongoDB
• MMS (MongoDB Monitoring Service)
• HTTP and Rest Interface
• Integration of MongoDB with Hadoop and Data Migration MongoDB with Hadoop (MongoDB to Hive)
• Integration with R

Hands-on/Demo/Use-case
• MongoDB with R integration
MongoDB on the Cloud
Goal: In this module, you will learn about various cloud products offered by MongoDB and how they can be used to host or manage your MongoDB deployments.

Skills
• Know MongoDB Cloud products
• Use Cloud products in MongoDB deployments

Objectives
After completing this module, you should be able to:
• Understand MongoDB Stitch
• Learn MongoDB Atlas
• Explore MongoDB Cloud Manager
• Setup MongoDB Ops Manager

Topics
• Overview of MongoDB Cloud products
• Using Cloud Manager to monitor MongoDB deployments
• Introduction to MongoDB Stitch
• MongoDB Cloud Atlas
• MongoDB Cloud Manager
• Working with MongoDB Ops Manager

Hands-on/Demo/Use-case
• MongoDB Cloud Manager – exploring
Diagnostics and Fixes
Goal: In this module, you will learn some of the common real-time scenarios you might find in production and how they can be fixed, once identified.

Skills
• Troubleshoot slow queries
• Diagnose connectivity problems

Objectives
After completing this module, you should be able to:
• Understand diagnostic tools
• Learn common production issues
• Learn fixes and solutions

Topics
• Overview of tools
• MongoDB Diagnostic Tools
• Diagnostics Commands
• MongoDB Deployment
• Setup & Configuration, Scalability, Management & Security
• Slow Queries
• Connectivity

Hands-on/Demo/Use-case
• Troubleshooting scenarios