Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 92 additions & 59 deletions Core topics/NodeJS_Concepts_Checklist.md
Original file line number Diff line number Diff line change
@@ -1,82 +1,115 @@
# Node.js Concepts Checklist
# 🚀 Node.js Learning Roadmap

A curated list of Node.js concepts to help learners track their progress. Mark each item ✅ as you master it.
A structured path to mastering **Node.js** for back-end development and building production-ready APIs.

## Basics
---

## 📌 1. Node.js Fundamentals & Servers (✅ 7% Done)

**What to Learn:**
- What Node.js is and why it’s used in back-end development.
- How the **event loop** and **asynchronous programming** work.
- Using **Node.js core modules**: `fs`, `path`, `os`, `http`.
- Creating a basic **HTTP server** with Node.js.
- Handling requests and responses manually.

**Milestone Project:**
📝 Build a simple **HTTP server** that serves static HTML, CSS, and JS files.

---

## 📌 2. Express.js Fundamentals (✅ 13% Done)

**What to Learn:**
- Setting up an Express server.
- Defining **routes** (`GET`, `POST`, `PUT`, `DELETE`).
- Using **middleware** (built-in & custom).
- Serving static files with Express.
- Templating engines (EJS, Handlebars, or Pug).

**Milestone Project:**
📝 Build a **Blog server** with Express.js that supports multiple routes and serves HTML pages.

---

## 📌 3. Database Integration with MongoDB & Mongoose (✅ 6% Done)
Copy link

Copilot AI Oct 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The progress percentages (7%, 13%, 6%, 7%, 50%) appear to be arbitrary without clear criteria for how completion is measured. Consider adding a note explaining how these percentages are calculated or removing them to avoid confusion.

Copilot uses AI. Check for mistakes.

- [ ] What is Node.js and its use cases
- [ ] Installing Node.js and npm
- [ ] Understanding Node.js runtime and V8 engine
- [ ] Node.js REPL (Read-Eval-Print Loop)
- [ ] Event Loop and Asynchronous Programming
- [ ] Global Objects in Node.js (`__dirname`, `__filename`, `global`)
**What to Learn:**
- Introduction to **NoSQL** and MongoDB basics.
- Connecting Node.js to MongoDB using **Mongoose**.
- CRUD operations (Create, Read, Update, Delete).
- Schema design: One-to-Many and Many-to-Many relationships.
- Data validation & error handling.

## Core Modules
**Milestone Project:**
📝 Build a **Task Manager** app where users can add, update, and delete tasks stored in MongoDB.

- [ ] File System (`fs`) – reading/writing files, streams
- [ ] Path module (`path`) – handling file paths
- [ ] OS module (`os`) – system information
- [ ] HTTP/HTTPS module – creating servers, making requests
- [ ] Events module – EventEmitter usage
- [ ] Timers module (`setTimeout`, `setInterval`, `setImmediate`, `process.nextTick`)
---

## NPM & Modules
## 📌 4. Building Complete APIs (✅ 7% Done)

- [ ] Creating and exporting custom modules
- [ ] Importing modules (CommonJS `require`, ES Modules `import`)
- [ ] Understanding package.json
- [ ] Installing dependencies and devDependencies
- [ ] Semantic versioning in npm
- [ ] Using popular packages (e.g., Express, dotenv, axios)
**What to Learn:**
- REST API design principles (resources, endpoints, status codes).
- Express Router for modular APIs.
- File upload handling with `multer`.
- Integrating with external APIs (e.g., weather, payment gateways).
- Returning JSON responses with proper error handling.

## Advanced Node.js
**Milestone Project:**
📝 Build a **Movies API** with endpoints to fetch, add, update, and delete movies.

---

- [ ] Streams (Readable, Writable, Duplex, Transform)
- [ ] Buffers and binary data
- [ ] Error handling patterns (try/catch, callbacks, Promises)
- [ ] Debugging Node.js applications
- [ ] Process object and environment variables
- [ ] Child processes (`child_process` module)
- [ ] Cluster module for scaling
## 📌 5. User Authentication (✅ 50% Done)

## Networking & APIs
**What to Learn:**
- Authentication vs Authorization.
- Password hashing with **bcrypt**.
- Session-based authentication (cookies & sessions).
- **JWT authentication** for stateless APIs.
- Role-based access control (User vs Admin).

- [ ] Building HTTP servers with Express.js
- [ ] REST API design principles
- [ ] WebSockets for real-time communication
- [ ] Middleware in Express
- [ ] Routing and route parameters
- [ ] Working with JSON and query parameters
**Milestone Project:**
📝 Create an **Auth API** with user registration, login, logout, and JWT-protected routes.

## Databases
---

- [ ] Connecting Node.js with MongoDB
- [ ] Using MySQL/PostgreSQL with Node.js
- [ ] CRUD operations from Node.js
- [ ] Using ORMs (Sequelize, TypeORM, Mongoose)
## 📌 6. Capstone Project: Core Banking API 💳

## Testing & Performance
**Stack:** MERN (MongoDB, Express.js, React, Node.js)

- [ ] Unit testing Node.js apps (Mocha, Jest)
- [ ] Logging best practices
- [ ] Handling uncaught exceptions and rejections
- [ ] Profiling and performance monitoring
**Features to Implement:**
- Secure **JWT authentication** for users.
- Users can **send money** to each other.
- Transaction records stored in MongoDB.
- Admin dashboard with full **transaction log**.
- Simple **frontend** with HTML/CSS (or React if ready).
Comment on lines +79 to +86
Copy link

Copilot AI Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MERN stack description is inconsistent with the project scope. This roadmap focuses on Node.js backend development, but MERN includes React (frontend). Consider clarifying whether this is purely a backend API project or if frontend development is expected.

Copilot uses AI. Check for mistakes.

## Best Practices & Patterns
**Stretch Goals:**
Comment on lines +86 to +88
Copy link

Copilot AI Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The frontend requirement contradicts the backend-focused nature of this Node.js roadmap. If frontend is optional, it should be moved to stretch goals or clearly marked as optional to avoid confusion.

Copilot uses AI. Check for mistakes.
- Add **rate limiting** (to prevent abuse).
- Add **input validation** with `Joi` or `Zod`.
- Deploy backend to **Render/Heroku** and database to **MongoDB Atlas**.
Copy link

Copilot AI Oct 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The deployment recommendation mentions Heroku, but Heroku discontinued its free tier in November 2022. Consider updating to suggest current free alternatives like Railway, Render, or Vercel for backend deployment.

Suggested change
- Deploy backend to **Render/Heroku** and database to **MongoDB Atlas**.
- Deploy backend to **Render/Railway/Vercel** and database to **MongoDB Atlas**.

Copilot uses AI. Check for mistakes.

- [ ] Asynchronous patterns (callbacks, promises, async/await)
- [ ] Modular project structure
- [ ] Security best practices (Helmet, CORS, input validation)
- [ ] Environment-based configurations
- [ ] Error-first callback pattern
---

## References
## 📌 7. Advanced Topics (Optional, Post-Capstone)

- [ ] Read PDFs under `nodejs pdf` folder
- [ ] Explore existing core topic files for deeper understanding
- WebSockets with **Socket.IO** for real-time apps.
- Caching with **Redis**.
- Unit & integration testing with **Jest** or **Mocha/Chai**.
- Deployment pipelines with Docker + CI/CD.

---

**Progress Tracking**: Mark items with `[x]` as you complete them!
## ✅ Progress Tracker

- Fundamentals: **7%**
- Express.js: **13%**
- Database: **6%**
- APIs: **7%**
- Authentication: **50%**
- Capstone: 🚧 Not started

---

**Last Updated**: October 2025
🔥 With this roadmap, you’ll go from **Node.js beginner → building real-world APIs → production-ready full-stack projects**.