Skip to content

Node.js Mastery Path

Mastery Path
BOOTCAMP

Node.js is a JavaScript runtime built for servers: Google's V8 engine runs your code, and a C library called libuv talks to the operating system for networking, files, timers, and processes. That pairing is why a single Node process can hold thousands of open connections while running your JavaScript on one thread. It is also why a single careless for loop can freeze every one of those connections at once.

This course is about the runtime and about building backend services on it. It assumes you already read and write modern JavaScript (arrow functions, destructuring, classes, promises). If you do not, work through the JavaScript Mastery Path first; here we only give a short async refresher before moving on to what is specific to Node.

You will start with the raw building blocks — ES modules, node:fs, node:http, EventEmitter — before touching a framework, so that Express later looks like the thin layer it actually is. From there the course builds a real REST API with validation, PostgreSQL, password hashing, sessions and JWTs, tests, and structured logs; then goes underneath with the event loop phases, streams and backpressure, buffers, worker threads, clustering, Redis, and WebSockets; and finishes with the production concerns that separate a demo from a service: profiling, memory leaks, TypeScript, architecture, queues, containers, observability, and graceful shutdown.

Every lesson has a How It Actually Works section that opens the mechanism: how module resolution walks node_modules, which calls use the libuv thread pool and which do not, what order the event loop phases run in, how write() returning false propagates backpressure, why bcrypt/scrypt are deliberately slow. Code samples use ES modules and the node: prefix for built-ins, and target a current Node release.

About versions and outputs

Node ships a new major every six months, and even-numbered majors become Long-Term Support releases. Use the current LTS from nodejs.org for real projects. Output shown in lessons was produced by actually running the code locally; where something needs an external service (PostgreSQL, Redis, a cloud platform), the lesson says so rather than inventing output.

How the program is organized

Level Focus Modules
Level 1 · Entry V8 + libuv, installing and nvm, ESM/CommonJS, npm, fs & path, async patterns, events, raw HTTP, configuration 9 topics + 1 project (a CLI tool)
Level 2 · Intermediate Express, routing & middleware, REST design, validation, errors, PostgreSQL, authentication, testing, logging 9 topics + 1 project (REST API with auth)
Level 3 · Advanced Event loop internals, streams, buffers, workers & child processes, clustering, Redis, WebSockets, uploads, security 9 topics + 1 project (real-time chat)
Level 4 · Master Profiling & leaks, diagnostics, TypeScript, architecture, queues, microservices, containers, observability, graceful shutdown 9 topics + 1 capstone (production-ready service)

How to use this site

  • Work through the levels in order. Level 2 assumes you have seen the raw http server from Level 1; Level 3 explains why things you used in Level 2 behave the way they do.
  • Type the code and run it. Nearly every example runs with a plain node file.js or after an npm install of one or two packages. Change things and watch what breaks.
  • Do the Exercise at the end of each lesson. The projects (module 10) build on the exercises, so skipping them makes the projects harder.
  • Keep one folder per level with a package.json. By the end you will have a CLI, a tested REST API, a real-time chat server, and a containerized capstone service.
  • For the frontend side, pair this with the React Mastery Path; for the big-picture architecture, the System Design Mastery Path.

Start here → Level 1 · Entry

🎥 Prefer video? Watch the Mastery Path video series on YouTube — Shorts and full walkthroughs of lessons across the series.

More from the Mastery Path series

Free, structured, module-wise training across 67 other languages, platforms and disciplines: