NodeJS Syllabus

Overview:

JavaScript’s rising popularity has brought with it a lot of changes, and the face of web development today is dramatically different. The things that we can do on the web nowadays with JavaScript running on the server, as well as in the browser, were hard to imagine just several years ago, or were encapsulated within sandboxed environments like Flash or Java Applets.

Node.js is a packaged compilation of Google’s V8 JavaScript engine, the libuv platform abstraction layer, and a core library, which is itself primarily written in JavaScript.” Beyond that, it’s worth noting that Ryan Dahl, the creator of Node.js, was aiming to create real-time websites with push capability, “inspired by applications like Gmail”. In Node.js, he gave developers a tool for working in the non-blocking, event-driven I/O paradigm.

After over 20 years of stateless-web based on the stateless request-response paradigm, we finally have web applications with real-time, two-way connections.

Course Objectives

  • Understand the JavaScript and technical concepts behind Node JS
  • Structure a Node application in modules
  • Understand and use the Event Emitter
  • Understand Buffers, Streams, and Pipes
  • Build a Web Server in Node and understand how it really works
  • Use NPM and manage node packages
  • Build a web application and API more easily using Express
  • Connect to a SQL or Mongo database in Node
  • Understand how the MERN stack works

Pre-requisite / Target Audience:

  • Basic Knowledge of JavaScript and OOPS
  • Knowledge in async programming will be added advantage

Introduction to JavaScript

  • Basic JavaScript
  • Object Based JavaScript
  • Introduction to ES6
  • JavaScript Helpers (forEach, filter,map, filter, every, some)
  • String Literals
  • DOM, Components, Events
  • Destructuring
  • Rest parameters and spread operator
  • Arrow function
  • Default parameter
  • Class : Inheritance, constructor
  • Promise

Introduction to Node JS

  • Introduction
  • What is Node JS?
  • Advantages of Node JS
  • Traditional Web Server Model
  • Node.js Process Model

Setup Dev Environment

  • Install Node.js on Windows
  • Installing in mac os
  • Working in REPL
  • Node JS Console

Node JS Modules

  • Functions
  • Buffer
  • Module
  • Module Types
  • Core Modules
  • Local Modules
  • Module.Exports

Node Package Mananger

  • What is NPM
  • Installing Packages Locally
  • Adding dependency in package.json
  • Installing packages globally
  • Updating packages

Creating Web server

  • Creating web server
  • Handling http requests
  • Sending requests

File System

  • Fs.readFile
  • Writing a File
  • Writing a file asynchronously
  • Opening a file
  • Deleting a file
  • Other IO Operations

Events

  • Event Emitter class
  • Returning event emitter
  • Inhering events

Express.JS

  • Configuring routes                                         
  • Working with express

Serving Static Resources

  • Serving static files                                     
  • Working with middle ware

Database connectivity

  • Connection string
  • Configuring
  • Working with select command
  • Updating records
  • Deleting records

Mongo DB Using Mongoose Database connectivity

  • Connection string
  • Configuring
  • Working with select command
  • Updating records
  • Deleting records
  • Live Database

Template Engines

  • Why Template Engine
  • What is EJS
  • Minor Project Using EJS
  • Example

 GitHub

  • Real-time environmental setup withGitHub