Course 06 · Server

Node.js
JavaScript with the door open.

The runtime, modules, packages, the file system and an HTTP API you can call.

18Lessons
≈ 3hReading
18Playable now
RuntimenpmHTTPExpressRESTDatabases

0 of 18 lessons finished — nothing yet

The syllabus

18 lessons,
in the order they build on each other.

Start lesson one ↗
01

The runtime

What Node is, how it differs from the browser, versions and running a file.

≈ 10 min
02

Modules

ESM and CommonJS, require against import, and module resolution.

≈ 11 min
03

npm and package.json

Dependencies, scripts, semantic versioning, the lockfile and auditing.

≈ 12 min
04

Files and paths

Reading, writing, checking, joining — sync, callbacks and promises.

≈ 11 min
05

Streams and buffers

Handling data too big to hold, piping, and where backpressure comes from.

≈ 11 min
06

Asynchronous Node

The event loop on the server, callbacks to promises, and blocking the thread.

≈ 11 min
07

An HTTP server

Requests, responses, status codes, headers and routing by hand.

≈ 12 min
08

Express

Routes, parameters, JSON bodies, middleware and the order they run in.

≈ 13 min
09

A REST API

Resources, the right verbs and status codes, validation and error shapes.

≈ 13 min
10

Talking to a database

SQL basics, a client, parameterised queries and never building SQL with strings.

≈ 13 min
11

Authentication

Hashing passwords, sessions against tokens, cookies and protecting a route.

≈ 14 min
12

Configuration and safety

Environment variables, secrets, input validation, CORS and what never goes in Git.

≈ 12 min
13

Errors and logging

Error middleware, operational against programmer errors, and logs you can search.

≈ 11 min
14

Testing

The built-in test runner, testing a route, and fixtures that stay honest.

≈ 11 min
15

Uploads and static files

Multipart bodies, size limits, serving assets and caching headers.

≈ 10 min
16

Processes and the shell

process.argv, exit codes, signals, and writing a small command-line tool.

≈ 10 min
17

Performance

Measuring, caching, connection pools and the work that belongs in a queue.

≈ 11 min
18

Deploying

A process manager, environment configuration, health checks and zero-downtime restarts.

≈ 11 min