← Back to Tools
Node.js

Tool

Node.js

JavaScript on the server

Run JavaScript on the server: modules, npm, files, events, async code, streams, HTTP, Express REST APIs, configuration, databases, testing and deployment.

16

Chapters

41

Hours (estimated)

1

Self-paced

Part-time

About 14 weeks

1 hour a day, 3 days a week

Full-time

About 5 weeks

3 hours a day, 3 days a week

Estimated from 16 chapters (notes, practice, labs, quiz, exercise, and challenge) plus the final exam. Go at your own pace.

Curriculum

16 chapters, each with a tutorial, a live example, a quiz, an exercise, a challenge, and class practice.

  1. 1

    Introduction to Node.js

    What Node.js is, how it runs JavaScript outside the browser, the event loop, installing Node, and running your first script.

  2. 2

    Modules: CommonJS & ES Modules

    Splitting code into files, require/module.exports, import/export, built-in modules, and how Node resolves modules.

  3. 3

    npm & package.json

    Initialising a project, installing dependencies and dev dependencies, semantic versioning, scripts, lockfiles, and npx.

  4. 4

    The File System Module

    Reading and writing files with fs/promises, JSON files, appending, folders, checking existence, and handling errors safely.

  5. 5

    Path & URL Modules

    Joining and resolving paths, extracting names and extensions, parsing URLs and query strings with the WHATWG URL API.

  6. 6

    Events & the EventEmitter

    Event-driven programming in Node — EventEmitter, on/once/emit, passing data, removing listeners, and the error event.

  7. 7

    Asynchronous Programming: Callbacks, Promises & async/await

    How async code runs in Node, callbacks and their problems, promises, async/await, running tasks in parallel, timeouts and error handling.

  8. 8

    Streams & Buffers

    Processing data piece by piece — Buffers, readable/writable/transform streams, pipeline, backpressure, and when streams beat reading whole files.

  9. 9

    The HTTP Module: Building a Server

    Creating a server with node:http, requests and responses, routing by method and path, status codes and headers, JSON bodies, and making HTTP requests with fetch.

  10. 10

    Express Basics

    Why frameworks, installing Express, routes and route parameters, query strings, JSON bodies, static files, and the request/response objects.

  11. 11

    Building a REST API with Express

    Designing resources and endpoints, CRUD operations, validation, consistent error responses, pagination and filtering, and testing with a REST client.

  12. 12

    Middleware, Authentication & Error Handling

    How Express middleware works, writing logging/auth middleware, the order of middleware, async errors, security middleware, and graceful error responses.

  13. 13

    Configuration & Environment Variables

    Keeping secrets out of code, process.env, .env files, validating configuration at startup, environment-specific settings, and the twelve-factor approach.

  14. 14

    Working with Data: JSON, SQLite & Databases

    Choosing storage, using a database from Node, parameterised queries, connection pooling, ORMs vs query builders, and migrations.

  15. 15

    Testing & Debugging Node.js Apps

    Unit tests with node:test or Vitest, testing APIs with Supertest, mocking, debugging with the inspector, logging, and common runtime errors.

  16. 16

    Deploying Node.js to Production

    Production readiness — process managers and containers, health checks, logging, graceful shutdown, performance, security checklist, and hosting options.

Start learning — it's free →

Node.js is free to study, self-paced. Pass the final exam to earn an optional Certificate of Completion for $40.