Week 1: Introduction to Node.js & JavaScript Refresher
- Why Node.js? Event-driven, Non-blocking I/O
- Installing Node.js & npm
- JavaScript ES6+ features (let/const, arrow functions, async/await, modules)
- Node.js core modules (fs, path, http)
- Lab: Simple Node.js HTTP server
Week 2: npm & Express.js Basics
- Introduction to npm & package.json
- Installing & using external packages
- Express.js Basics (setup, routing)
- Middleware in Express (built-in & custom)
- Lab: Create a basic Express.js app with multiple routes
Week 3: Templates & Static Files
- Serving static files (CSS, images, JS)
- Template Engines (EJS / Handlebars)
- Rendering dynamic pages with data
- Lab: Build a simple blog website with EJS
Week 4: Databases (MongoDB with Mongoose)
- Introduction to NoSQL & MongoDB
- Connecting Node.js with MongoDB (Mongoose)
- Defining Schemas & Models
- CRUD operations (Create, Read, Update, Delete)
- Lab: Build a Task Manager app with MongoDB
Week 5: RESTful APIs
- What are REST APIs?
- Building RESTful APIs with Express.js
- Postman for API testing
- JSON request/response handling
- Lab: Create a REST API for a Notes App
Week 6: Authentication & Security
- User registration & login system
- Password hashing with bcrypt
- Sessions & JWT Authentication
- Basic security practices (Helmet, CORS, dotenv)
- Lab: Secure API with JWT authentication
Week 7: Advanced Features
- File uploads with Multer
- Sending Emails (Nodemailer)
- Integrating Third-Party APIs (e.g., Weather, Payments)
- Lab: Build an Image Upload + User Profile App
Week 8: Deployment & Final Project
- Deployment (Heroku, Render, Vercel, Railway)
- Environment variables & production setup
- Project Structure & Best Practices
- Final Project Options:
- E-commerce REST API with Authentication
- Blogging Platform with User Login
- Chat Application (WebSockets + Express)
- Final Assessment & Demo
