Node.js is a platform for easily building fast, scalable network applications. It is being adopted by many projects and is a must-know for the software professional who wants to keep up with the pace.

In this one-day course, we teach the basics of setting up, running and programming Node.js servers.

The course does not include hands-on, but requires full attention as we need to cover a lot of important material in a single day.

Student Pre-Requisites

  • Have successfully completed the “Web 101” course (or have knowledge and experience in all subjects covered by that course).

Syllabus

MODULE 1 — NodeJS Overview

  • What is node.js
  • Why node.js
  • Where we want to use node.js (and where we do not)

MODULE 2 — Essential Node

  • Understanding the Node event loop
  • The event-queue processing loop
  • Node core utilities: URL, Crypto, Path, String Decoder
  • Control Flow Patterns
  • Callback hell / Pyramid of doom
  • Promises and deferreds
  • Basic file handling
  • Accessing data stores (MySql, Mongo)

MODULE 3 — Working with Node Modules

  • Creating custom modules
  • Exporting our custom modules
  • Installing available modules using NPM
  • Common modules overview: file, http, net, socket.io

MODULE 4 — The Express Web Framework

  • What is Express?
  • Express fundamentals
  • Request handling/flow in Express
  • Setting up Routes
  • Rendering Views

MODULE 5 — Working with socket.io

  • Intro
  • Using socket.io server side
  • Moving on to the client side
  • Transmission types: Unicast, Broadcast
  • Multicast using Rooms
  • Storing socket-specific data

MODULE 6 — Best Practices

  • Exception handling
  • Keeping node running with Forever
  • Keeping Forever running using daemons
  • Tips and tricks
  • Lessons learned and pain-savers