Why Nest, and the three building blocks

Express got you a server. Now what?

Last module you answered GET /walkers with raw node:http and Express. For one route that's perfect. But a real PawWalk backend has walkers, bookings, auth, payments, and a job queue β€” dozens of routes, each needing the same database, the same logger, the same auth check. With bare Express you wire all of that by hand: pass the db into every handler, require files in the right order, and hope nobody imports a circular mess.

NestJS is Express (or Fastify) underneath, plus the structure a team needs so the codebase survives past its first ten files. It gives you three things Express leaves you to invent: a way to group related code (modules), a way to map HTTP to methods (controllers), and a way to hand dependencies to the code that needs them (dependency injection). This lesson meets all three.

The senior pitch: Express is a library β€” you assemble the architecture. Nest is a framework β€” the architecture is the product. On a team, that shared structure is worth more than the few lines of freedom you give up.