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