About the Course
Module 1: Introduction to Node.js (3 hours)
· What is Node.js?
· Node.js architecture (event loop, single-threaded, non-blocking I/O)
· Installation and setup (Node, npm)
· Node REPL
· Writing your first Node.js script
Module 2: Core Modules and File System (5 hours)
· fs (File System) module – read/write files
· path, os, url, and events modules
· Working with Buffers and Streams
· Creating and managing events with Event Emitter
Module 3: HTTP and Web Servers (5 hours)
· Creating an HTTP server
· Handling requests and responses
· Serving HTML, JSON, static files
· Status codes and headers
· Building a basic web server
·
Module 4: npm and Package Management (2 hours)
· Using npm and npx
· Understanding package.json and package-lock.json
· Installing, updating, and uninstalling packages
· Semantic Versioning
· Creating your own npm package
Module 5: Express.js Framework (8 hours)
· Installing and setting up Express
· Routing and middleware
· Query strings and parameters
· Error handling middleware
· Serving static files
· Express Router and modularization
· REST API basics using Express
Module 6: Database Integration (7 hours)
MongoDB with Mongoose
· CRUD operations
· Schemas and Models
· Validation
· Connecting Node.js with MongoDB (local and cloud via MongoDB Atlas)
Module 7: Authentication and Authorization (6 hours)
· User registration and login
· Password hashing with bcrypt
· Sessions vs JWT
· Using jsonwebtoken for token-based auth
· Role-based access control
Module 8: Asynchronous Programming (4 hours)
· Callbacks, Promises, and async/await
· Error handling
· util.promisify and working with async libraries
Module 9: Project Structure & Best Practices (3 hours)
· MVC pattern in Node.js
· Environment variables with dotenv
· Logging with morgan, winston
· Folder structure for scalability
Module 10: Testing and Debugging (4 hours)
· Unit testing with mocha, chai, jest
· API testing with supertest
· Debugging Node.js apps
· Using nodemon and node --inspect
Module 11: Real-time Communication with Socket.io (4 hours)
· What is WebSocket?
· Setting up Socket.io in Node.js
· Broadcasting events
· Building a basic chat application
Module 12: Build Tools & Deployment (4 hours)
· Using tools like pm2 for production
· Caching with Redis (optional)
· Deployment on:
o Heroku
o AWS EC2 (basic)
o Docker basics with Node.js app
· CI/CD pipeline overview (GitHub Actions or Jenkins)
Module 13: Capstone Project (5 hours)
· Choose from one of the following:
o RESTful API for a blog/e-commerce platform
o Real-time chat app
o Task management system
· From design to deployment





