Node JS Syllabus
1. Introduction to Node.js
What is Node.js?
Features of Node.js
Advantages of using Node.js
Installing Node.js & NPM
Understanding Node.js architecture
2. Node.js Basics
Running your first Node.js program
Node.js REPL (Read-Eval-Print Loop)
Global objects and modules
Node.js Event Loop
Understanding the Non-blocking I/O model
3. Node.js Modules & NPM
Built-in modules (fs, path, http, etc.)
Creating custom modules
Importing & exporting modules
NPM (Node Package Manager)
Installing & managing packages
Package.json & package-lock.json
Semantic Versioning
4. File System & Streams
Reading and writing files
Working with directories
File handling with
fs
moduleStreams and Buffers
Event-driven programming with streams
5. HTTP Module & Express.js
Creating an HTTP server
Handling requests & responses
Routing in Node.js
Introduction to Express.js
Setting up an Express server
Middleware in Express
Handling GET, POST, PUT, DELETE requests
Serving static files
6. Working with Databases
Introduction to databases in Node.js
Using MySQL with Node.js
Using MongoDB with Node.js (Mongoose ORM)
CRUD operations with databases
7. Authentication & Security
User authentication with JWT (JSON Web Tokens)
OAuth & Passport.js
Password hashing with bcrypt
Securing APIs with authentication
8. Real-time Applications with WebSockets
Introduction to WebSockets
Using Socket.io for real-time communication
Building a chat application
9. RESTful APIs & GraphQL
Creating RESTful APIs
Handling API requests and responses
REST vs GraphQL
Implementing GraphQL in Node.js
10. Error Handling & Debugging
Handling errors in Node.js
Using try-catch and async error handling
Debugging with Node.js
11. Deployment & DevOps
Deploying Node.js applications on Heroku, Vercel, AWS, and DigitalOcean
Process management using PM2
Using Docker for Node.js applications
12. Advanced Topics
Microservices in Node.js
Caching with Redis
Background Jobs using Bull.js
Message Queues (RabbitMQ, Kafka)