Node JS Workshop

Understand NodeJS platform along with its core modules. Creating web applications using Express JS over NodeJS as web server.

Submit a session proposal

Submissions are closed for this project


Understand NodeJS platform along with its core modules. Creating web applications using Express JS over NodeJS as web server.


This course is for Web developers who are experienced in javascript.


Prior experience developing web applications using HTML, CSS and Javascript


Day 1 – Session 1

Getting Started with Node.js
  • Installing Node js

Developing a simple application on Node

  • Node’s event loop
  • Writing asynchronous code
Modules and NPM
  • Accessing built-in modules
  • Using require() to modularize
  • Understanding callback execution in the event loop
  • Using NPM to find 3rd party modules
  • Maintaining projects using NPM command
  • Creating Modules with getters and setters
  • Understanding module caching and scopes
Events and Streams
  • Events and EventEmitter class
  • Returning an EventEmitter from a function
  • Inheriting from EventEmitter
  • Readable and Writable Streams, the Pipe function
  • Piping Between Streams

Day 1 – Session 2

Accessing the Local System
  • Process Object
  • Interacting with the file system
  • Buffers
  • OS Module
Interacting with the Web
  • Making web requests in Node
  • Web server in Node
  • Real time interaction with Socket.IO
Scaling node application
  • The Child Process module
  • Exec function
  • Spawn function
  • Fork function

Day 2 – Session 1

Using Express Framework
  • Starting Express applications
  • Handling GET requests returning JSON
  • Navigating large datasets
  • Modifying data through PUT requests
Testing and Debugging
  • The Assert module
  • Testing with Mocha and Should.js
  • Simulating HTTP requests with SuperTest
Sessions and Databases
  • Connecting to MongoDB via Mongoose
  • Designing schemas for collections in Mongoose
  • Querying MongoDB collections
  • Persisting Express sessions through MongoDB and mongo-connect

Day 2 – Session 2

Command-Line interfaces
  • Controlling the built-in REPL
  • Constructing a custom REPL
  • Building command line tools
Overview of Grunt JS
  • Installing Grunt
  • Configuring Tasks
  • Creating Grunt tasks
  • Writing custom Grunt task
Overview of MEAN stack
  • Install MEAN stack
  • Hands-on case study building web application on MEAN stack

Hardware & Network Requirements

  • All participants to have individual desktops with at least dual core or higher CPU with 2GB RAM
  • All participants’ system to be connected to internet

Software Requirements

  • Windows 7 /8 Linux Operating System
  • IDE – SublimeText / Bracket
  • Web browser – Mozilla Firefox with firebug, Google Chrome
  • Web server either Apache HTTP server or Apache Tomcat server