NodeJS Training Course Material

Day 1 - NodeJS Introduction

– NodeJS- Introduction

– History of nodeJS development

– Application and uses of nodeJS

– Installing node and npm

– Various back end development alternatives such as php, python, Ruby on Rails

– JavaScript Introduction

– Concepts of variables, arrays and objects in javaScript

– Demonstration of a node web server

– JSON- Basics

– Refrence vs. Native variables

Code Files

Day 2 - JavaScript Concepts

– Operations on variables, arrays and objects in javaScript

– Functions – Definition, Calling

– Concept of “Hoisting”

– Function execution vs. Function definition object

– Console – Commands

– Useful Linux commands – pwd, ls, mkdir, rm etc….

– Permissions of files & directories and modifying them

– Extension of files for NodeJS

– Executing nodeJS code

– Callback functions

– Asynchronous execution with examples

– Anonymous functions

– Inbuilt JavaScript objects

– Use of “this” keyword

Code Files

Day 3 - HTTP “Request” and “Response”

– Data types

– Arrays- Introduction & operations

– Useful properties and functions for arrays- length, push(), pop(), shift(), unshift(), splice(), join(), reverse(), concat() etc…

– Functions – Mutator vs. Non mutator

– Objects- Introduction & operations

– Useful functions for objects – toString(), valueOf()

– Strings- Introduction & operations

– Useful functions for strings – split(), join(), match()

– HTTP “Request” and “response” for Client – Server communication

– “Port” and “port number”

– “Request” and “Response” packets

– Google Chrome DevTools – Introduction and use

– Google Chrome DevTools Network tab – “Request” and “Response” packets

– Webstorm IDE

– Developing a simple web server

– Use of “expressJS” framework

– underscore(_) library – Introduction

Day 4 - REST APIs

– Types of server – Web server, application server, database server

– Database – MongoDb

-API – REST

– CRUD(Create, Read, Update, Delete) operations

– CREATE operation – POST

– READ operation – GET

– UPDATE operation – PUT

– DELETE operation – DELETE

– PUT vs. POST

– Creating a Node project

– ExpressJS framework for Node

Code Files

Day 5 - APIs

– Creating APIs with GET,POST

– Creating API with POSTMAN

– Sending data via. Forms

-Form data – x-www-url-encoded & raw JSON

– Middleware – BodyParser

– Static content of a web page and static directory – “public”

– PUT & DELETE

Day 6 - MongoDB

-MongoDB – structure

-MongoDB – install

-Mongo server

-Mongo clients – Mongo Shell, RoboMongo

-Collections

-Documents

Code Files

Day 7 - MongoDB

-Mongo CRUD operations

-Basic queries

-Relational vs. Non-relational

– Mongo driver- npm

– REST API using Mongo Driver

– DB connection – mongoClient.connect

– Find, Insert Query in MongoClient

-Robo Mongo

Day 8 - Mongoose

– Mongoose ODM module

– Mongoose Schema

– Mongoose Model

– Mongoose.Connect

– REST Api Using Mongoose find, save

Code files

Day 9 - Mongoose

– Mongoose Validations (unique,require,n=min,max)

– Static and Instance Functions

Code Files

Day 10 - Promises

  • Asynchronous functions in JS
  • SetTimeout and Callbacks
  • Callback Hell
  • Q library
  • Deferred Object  – Resolve(), Reject () and Promises
  • Promises Chaining using .then()
  • Promises in Parallel .all()
  • Passing value in Resolve and Reject
Code Files

Day 11 - Modular Structure

  • Using Module.exports
  • Using Require
  • Relative Paths in Node
  • Module.exports with Objects
  • Making Project Modular with Models, Schemas and Controllers
Code Files

Day 12 - Project Discussion

Project Discussed –

  1.  Reminder System
  2.  Knowledge wiki with Code Compiler
  3. Project Management and Tracking System

Day 13 - UnderscoreJS

  • Underscore JS
  • Using Map function
  • Using Find, Sort and GroupBy functions
Code Files

Day 14 - Sessions - Express Sessions

  • Session and Cookies with express
  • express-session middleware
  • Concept of Session Management
  • Session ID and Cookie relationship
Code Files

Day 15 - Passport - Local Authentication

  • Passport Middleware
  • Passport Strategies
  • Local Strategy Implementation
  • Serialization – Deserialization
  • Passport Authentication function
  • Route Middleware for Authentication
Code Files

Day 18 - Heroku Cloud Upload and Deploy

  • Creating Heroku Account
  • Heroku CLI
  • Heroku Upload and Deploy Process
  • ProcFile
  • Heroku Env Varibles

Day 19 - Sockets using Socket.IO

  • How sockets are different from requrest/response
  • Socket.IO
  • Creating a server socket and client socket using Socket.IO
  • Emit and Listener events
Code Files

Day 20 - ES6 Basics and Typescript

  • ES6 Definitions
  • Let and Const
  • Classes
  • Import and export
  • Template Literals
  • Arrow functions
  • Typescript basics