intermediate nodejsbackendjavascriptexpressdocker

Node.js Fundamentals

Master backend development with Node.js — from the event loop and core modules to Express, databases, caching, TypeScript, and Docker.

By Avinash Jha

Curriculum

  1. 1 Introduction to Node.js 6 lessons

    Understand what Node.js is, why it exists, how to install it, and how to run your first program.

    1. What is Node.js? Reading 10 min
    2. Why Node.js? Use Cases Reading 10 min
    3. Installing Node.js Reading 10 min
    4. The REPL and Running Scripts Reading 10 min
    5. The Module System (CommonJS vs ESM) Reading 15 min
    6. Knowledge Check Quiz 10 min
  2. 2 The Event Loop and I/O 6 lessons

    Learn how Node.js stays fast with a single thread: async vs sync, the event loop phases, and non-blocking I/O.

    1. Synchronous vs Asynchronous Reading 10 min
    2. The Event Loop Explained Reading 15 min
    3. Blocking vs Non-blocking I/O Reading 10 min
    4. Timers, nextTick and setImmediate Reading 15 min
    5. Worker Threads and Child Processes Reading 15 min
    6. Knowledge Check Quiz 10 min
  3. 3 Core Modules 11 lessons

    Explore the built-in modules that ship with Node.js: http, fs, path, os, events, process, Buffer, crypto, URL, util, and HTTPS.

    1. The http Module Reading 15 min
    2. The File System (fs) Module Reading 15 min
    3. The path Module Reading 10 min
    4. The Operating System (os) Module Reading 10 min
    5. Events and EventEmitter Reading 15 min
    6. process, Buffer, and Node.js Globals Reading 15 min
    7. URL and Query String Handling Reading 10 min
    8. The crypto Module Reading 15 min
    9. The util Module and promisify Reading 10 min
    10. HTTPS and TLS Basics Reading 15 min
    11. Knowledge Check Quiz 10 min
  4. 4 Streams and Streaming 8 lessons

    Process data piece by piece with streams: readable, writable, duplex, transform, pipes, backpressure, and real-world streaming.

    1. What are Streams? Reading 10 min
    2. Readable and Writable Streams Reading 15 min
    3. Pipes and Chaining Reading 10 min
    4. Streaming in Practice Reading 15 min
    5. Duplex and Transform Streams Reading 15 min
    6. Backpressure Reading 15 min
    7. pipeline() and stream/promises Reading 15 min
    8. Knowledge Check Quiz 10 min
  5. 5 NPM and Package Management 8 lessons

    Manage dependencies with npm: package.json, versioning, scripts, and publishing your own packages.

    1. Introduction to npm Reading 10 min
    2. Understanding package.json Reading 15 min
    3. Dependencies and Semantic Versioning Reading 15 min
    4. npm Scripts Reading 10 min
    5. Publishing Packages Reading 10 min
    6. Lockfiles and Repeatable Installs Reading 10 min
    7. Dependency Security and Auditing Reading 10 min
    8. Knowledge Check Quiz 10 min
  6. 6 Express.js 10 lessons

    Build web servers with Express: routing, middleware, request parsing, validation, security middleware, MVC, and server-rendered HTML.

    1. Introduction to Express Reading 15 min
    2. Routing Reading 15 min
    3. What is Middleware? Reading 15 min
    4. MVC in Express Reading 20 min
    5. EJS Templates and Serving HTML Pages Reading 15 min
    6. Request Parsing and Validation Reading 20 min
    7. Security Middleware: CORS, Helmet, and Rate Limits Reading 20 min
    8. Error Handling Middleware Reading 15 min
    9. Project Structure for Express APIs Reading 15 min
    10. Knowledge Check Quiz 10 min
  7. 7 Error Handling and Configuration 7 lessons

    Handle failures predictably in Node.js and Express, validate runtime configuration, and shut services down gracefully.

    1. The Node.js Error Model Reading 15 min
    2. Async Errors and Promises Reading 15 min
    3. Express Error Boundaries Reading 15 min
    4. Environment Variables and Config Validation Reading 20 min
    5. Logging Errors Safely Reading 15 min
    6. Graceful Shutdown Reading 15 min
    7. Knowledge Check Quiz 10 min
  8. 8 REST APIs, SSE and Webhooks 9 lessons

    Design RESTful APIs with clear resources, status codes, validation boundaries, documentation, and real-time options such as SSE, webhooks, and WebSockets.

    1. What is REST? Reading 15 min
    2. Building CRUD Endpoints Reading 20 min
    3. Server-Sent Events (SSE) Reading 15 min
    4. Webhooks Reading 15 min
    5. Status Codes and Error Responses Reading 15 min
    6. API Versioning and Pagination Reading 15 min
    7. OpenAPI and API Documentation Reading 15 min
    8. WebSockets vs Server-Sent Events Reading 15 min
    9. Knowledge Check Quiz 10 min
  9. 9 Testing Node.js APIs 7 lessons

    Test Node.js services with unit tests, API tests, mocks, integration checks, and maintainable test strategy.

    1. Testing Strategy for Node.js Reading 15 min
    2. Node Test Runner, Vitest, and Jest Reading 20 min
    3. Unit Testing Services Reading 20 min
    4. API Testing with Supertest Reading 20 min
    5. Mocking Databases and External Services Reading 20 min
    6. Integration and E2E Testing Reading 20 min
    7. Knowledge Check Quiz 10 min
  10. 10 Databases with Node.js 9 lessons

    Connect Node.js to relational and NoSQL databases, covering drivers, pooling, transactions, migrations, ORMs, and production data-access patterns.

    1. SQLite and Node.js Reading 15 min
    2. MySQL and Node.js Reading 20 min
    3. MongoDB and Node.js Reading 20 min
    4. PostgreSQL and Node.js Reading 20 min
    5. Connection Pooling Reading 15 min
    6. Transactions Reading 15 min
    7. Database Migrations Reading 15 min
    8. ORMs and Query Builders Reading 20 min
    9. Knowledge Check Quiz 10 min
  11. 11 Authentication, Security and File Uploads 3 lessons

    Secure your applications with authentication and best practices, and handle file uploads and storage.

    1. Authentication and Security Reading 20 min
    2. JSON Web Tokens (JWT) Reading 15 min
    3. File Uploads and Storage Reading 15 min
  12. 12 Caching 2 lessons

    Speed up your apps with caching: in-memory caches and distributed caching with Redis.

    1. In-Memory Caching Reading 15 min
    2. Caching with Redis Reading 20 min
  13. 13 TypeScript with Node.js 2 lessons

    Add type safety to your backend: set up a TypeScript project and build Node.js apps with TypeScript.

    1. Setting Up a TypeScript Project Reading 20 min
    2. Building with TypeScript and Node.js Reading 20 min
  14. 14 Docker and Deployment 3 lessons

    Containerize your Node.js apps: Docker basics, Docker Compose, and dockerizing a real project.

    1. Introduction to Docker Reading 15 min
    2. Docker and Docker Compose Reading 20 min
    3. Dockerize a Node Project Reading 20 min
  15. 15 Design Patterns 5 lessons

    Write maintainable backend code with proven design patterns: creational, structural, behavioral, and Node.js-specific patterns.

    1. What are Design Patterns? Reading 10 min
    2. Creational Patterns (Singleton, Factory) Reading 20 min
    3. Structural Patterns (Adapter, Proxy, Decorator) Reading 20 min
    4. Behavioral Patterns (Observer, Strategy) Reading 20 min
    5. Node.js Patterns (Middleware, DI, Repository) Reading 20 min
  16. 16 Load Balancing and Scaling (Nginx) 5 lessons

    Scale Node.js apps to handle real traffic: horizontal scaling, reverse proxies, load balancing with Nginx, and clustering.

    1. Scaling: Horizontal vs Vertical Reading 15 min
    2. Introduction to Load Balancing Reading 15 min
    3. Nginx as a Reverse Proxy Reading 20 min
    4. Load Balancing with Nginx Reading 20 min
    5. Clustering and PM2 Reading 15 min
  17. 17 Authentication Concepts 5 lessons

    Understand the building blocks of identity and access: encryption vs hashing, sessions vs tokens, JWT, OAuth2, and SSO.

    1. Encryption vs Hashing Reading 15 min
    2. Sessions vs Tokens Reading 15 min
    3. JWT Deep Dive Reading 20 min
    4. OAuth2 and OpenID Connect Reading 20 min
    5. Single Sign-On (SSO) Reading 15 min
  18. 18 API Optimization Techniques 5 lessons

    Make APIs fast and resilient: pagination, caching, rate limiting, compression, and database query optimization.

    1. Pagination, Filtering and Projection Reading 15 min
    2. API Caching Strategies Reading 20 min
    3. Rate Limiting and Throttling Reading 15 min
    4. Compression and Payload Optimization Reading 15 min
    5. Database and Query Optimization Reading 20 min