Node.js & Express
Curriculum
Node.js · Express

Node.js & Express Tutorial

A complete Node.js and Express path from beginner to pro - modules, APIs, auth, databases, testing, and real backend projects.

65 lessonsBeginner → ProBackend
Start from the beginning

Curriculum

Work through each section in order. Every lesson ends with practice and key points so the idea sticks.

Beginner

Getting Started

5 lessons · ~53 min
  1. 1
    What is Node.js?

    Learn what Node.js is, where it runs, and why JavaScript developers use it for servers and tools.

  2. 2
    Node.js vs Browser JavaScript

    Compare Node.js and browser JavaScript so you know which APIs exist in each environment.

  3. 3
    Install Node.js & npm

    Install a modern Node.js version, check npm, and understand common version choices.

  4. 4
    Your First Node Script

    Create a JavaScript file, run it with Node, and read command-line arguments.

  5. 5
    REPL, Scripts & package scripts

    Use the Node REPL for quick experiments and npm scripts for repeatable project commands.

Beginner

Node Foundations

9 lessons · ~109 min
  1. 6
    CommonJS Modules (require/module.exports)

    Learn the classic Node module system using require and module.exports.

  2. 7
    ES Modules (import/export)

    Learn modern JavaScript modules in Node.js using import and export.

  3. 8
    npm Basics

    Understand npm, install packages, and distinguish dependencies from development dependencies.

  4. 9
    package.json Explained

    Learn the important fields in package.json and how they shape a Node.js project.

  5. 10
    Core Modules Overview

    Meet the built-in Node.js modules you will use before reaching for npm packages.

  6. 11
    File System (fs)

    Read and write files with Node.js using the fs module and promise-based APIs.

  7. 12
    path & URL utilities

    Use Node path and URL helpers to safely build paths and parse web addresses.

  8. 13
    Events & EventEmitter

    Understand event-driven code and use EventEmitter for simple Node.js events.

  9. 14
    Creating a Server with http

    Build a small HTTP server using Node.js before learning Express.

Beginner

Express Basics

10 lessons · ~121 min
  1. 15
    What is Express?

    Learn what Express adds to Node.js and when to use it for backend apps.

  2. 16
    Your First Express App

    Install Express, create a server, and respond to your first routes.

  3. 17
    Routes & HTTP Methods

    Understand Express routes and the common HTTP methods used in APIs.

  4. 18
    Route Params & Query Strings

    Read dynamic path values with req.params and optional URL filters with req.query.

  5. 19
    Request Body & JSON

    Accept JSON request bodies in Express and validate basic input before creating data.

  6. 20
    Middleware Explained

    Learn how Express middleware runs between the request and the final route response.

  7. 21
    Serving Static Files

    Use express.static to serve images, CSS, JavaScript, and simple public files.

  8. 22
    express.Router()

    Organize related Express routes into smaller router modules.

  9. 23
    Basic Error Handling

    Return helpful error responses and add a basic Express error-handling middleware.

  10. 24
    Environment Variables & nodemon

    Configure ports with environment variables and restart your app automatically during development.

Beginner

Putting It Together

1 lessons · ~15 min
  1. 25
    Mini Project: Notes API

    Put beginner Node.js and Express ideas together by building a small in-memory Notes API.

Intermediate

APIs

5 lessons · ~62 min
  1. 26
    REST API Design Basics

    Design predictable Express APIs with resources, HTTP methods, status codes, JSON responses, and consistent error shapes.

  2. 27
    Controllers & Route Organization

    Split Express routes into routers and controllers so APIs stay readable as features grow.

  3. 28
    Service Layer Pattern

    Move business logic out of controllers and into services that can be reused and tested without HTTP.

  4. 29
    Validation (manual + zod/joi style)

    Validate request bodies, params, and query strings manually or with schema-style libraries before data reaches your services.

  5. 30
    Async Routes & Error Propagation

    Handle rejected promises in Express routes and centralize API errors with async wrappers and error middleware.

Intermediate

Auth & Security

5 lessons · ~64 min
  1. 31
    JWT Authentication

    Use signed JSON Web Tokens to authenticate API requests while keeping secrets in environment variables.

  2. 32
    Refresh Tokens & Sessions Overview

    Understand refresh-token and session tradeoffs for keeping users logged in safely.

  3. 33
    Password Hashing (bcrypt)

    Store passwords safely with bcrypt hashes, never plaintext or fast general-purpose hashes.

  4. 34
    Helmet, CORS & Secure Headers

    Use secure HTTP headers and deliberate CORS rules so browsers interact with your API safely.

  5. 35
    Rate Limiting

    Protect login, signup, and public API endpoints from abuse with rate limiting strategies.

Intermediate

Data

4 lessons · ~56 min
  1. 36
    MongoDB with the Node Driver

    Connect Express to MongoDB using the official Node driver, ObjectId, indexes, and shared clients.

  2. 37
    Mongoose ODM

    Use Mongoose schemas, models, validation, and queries when you want a structured MongoDB object model.

  3. 38
    PostgreSQL with node-postgres/Prisma patterns

    Query PostgreSQL from Express with pg pools, parameterized queries, transactions, and a Prisma-style workflow overview.

  4. 39
    Migrations & Seeding Mindset

    Treat database schema changes and seed data as versioned application changes, not manual dashboard work.

Intermediate

App Features

3 lessons · ~37 min
  1. 40
    File Uploads

    Accept file uploads in Express while validating file type, size, storage location, and public access.

  2. 41
    Sending Email

    Send transactional email from Express through a provider while keeping SMTP credentials and API keys out of source code.

  3. 42
    Pagination, Filtering & Sorting

    Build list endpoints that support predictable pagination, safe filters, and controlled sort options.

Intermediate

Quality

4 lessons · ~50 min
  1. 43
    Logging for APIs

    Log useful request and application events without leaking secrets or overwhelming production systems.

  2. 44
    Testing Express Apps

    Test Express routes, services, middleware, and error responses with focused unit and integration tests.

  3. 45
    API Docs Mindset (OpenAPI/Swagger)

    Document Express APIs as contracts using examples, schemas, response codes, and OpenAPI-style descriptions.

  4. 46
    TypeScript with Express (Practical Intro)

    Add TypeScript to Express for typed requests, responses, services, and environment configuration.

Intermediate

Delivery

2 lessons · ~26 min
  1. 47
    Config & 12-factor Basics

    Load configuration from the environment, validate it at startup, and keep deploy-specific values out of code.

  2. 48
    Deploying Express APIs

    Prepare Express APIs for production with start scripts, health checks, proxies, environment variables, and graceful shutdown.

Advanced

Pro Architecture

2 lessons · ~33 min
  1. 49
    Structuring Larger Express Apps

    Organize Express applications into predictable modules that can grow without becoming a single giant server file.

  2. 50
    Clean Request → Controller → Service → Data

    Build a clean Express flow where validation, controllers, services, repositories, and errors each have one job.

Advanced

Scale & Reliability

4 lessons · ~71 min
  1. 51
    Node/Express Performance Mindset

    Understand event loop health, slow routes, payload size, streaming, clustering, and the habits that make Node services reliable under load.

  2. 52
    Caching with Redis Patterns

    Use Redis with Express for cache-aside reads, invalidation, TTLs, rate limiting, and safe production caching decisions.

  3. 53
    Background Jobs & Queues

    Move slow work out of Express requests with queue-based workers, retries, idempotency, and safe job status APIs.

  4. 54
    WebSockets / realtime with Express

    Add realtime behavior to an Express application using an HTTP server, Socket.IO-style events, rooms, authentication, and scaling rules.

Advanced

Production

3 lessons · ~55 min
  1. 55
    Advanced API Security

    Harden production Express APIs with secure headers, CORS, rate limits, input limits, tokens, authorization, and dependency hygiene.

  2. 56
    Logging, Metrics & Health Checks

    Make Express production-ready with structured logs, request IDs, metrics, readiness checks, and useful error context.

  3. 57
    Dockerizing Node/Express

    Package an Express app in Docker with small images, environment variables, health checks, compose files, and production-friendly commands.

Advanced

Capstone Projects

3 lessons · ~60 min
  1. 58
    Mini Project: Full REST API

    Build a complete Express REST API with folder structure, validation, controllers, services, in-memory data, errors, and pagination.

  2. 59
    Mini Project: Auth API (register/login/protected routes)

    Build an Express authentication API with registration, login, password hashing, JWT access tokens, protected routes, and safe responses.

  3. 60
    Mini Project: Realtime Chat/Notifications Shell

    Build a followable Express and Socket.IO shell for rooms, chat messages, notifications, and a tiny browser client.

Advanced

Polish & Next Steps

5 lessons · ~70 min
  1. 61
    Common Node/Express Mistakes (and Fixes)

    Recognize the mistakes that make Express apps fragile, slow, insecure, or hard to maintain, and learn practical fixes.

  2. 62
    Ecosystem: Nest, Fastify, tRPC & When to Switch

    Compare Express with NestJS, Fastify, tRPC, and other backend tools so you can choose the right framework for the project.

  3. 63
    Building a Backend Portfolio

    Turn Node and Express skills into portfolio projects that show architecture, production thinking, tests, and deployment ability.

  4. 64
    Node/Express with Next.js Frontends

    Connect Express APIs to Next.js frontends with environment variables, cookies, CORS, server-side fetching, and deployment boundaries.

  5. 65
    What to Learn After Node/Express

    Choose the next backend skills after Express: databases, TypeScript depth, testing, cloud, architecture, security, and distributed systems.