Section 1: Lab: Setting Up Your Tools
- Install the Node.js LTS release and check the npm version
- Install VS Code and extensions for TypeScript and NestJS
- Install the Nest CLI and create a project with nest new
- Run the project in watch mode with npm run start:dev
- Lab: a first API responding from your own machine
Section 2: Lab: TypeScript for NestJS
- Types, interfaces and type aliases
- Classes, access modifiers and constructors
- Generics, async and await
- What decorators are and how NestJS uses them
- Lab: product and order models in TypeScript
Section 3: Introducing NestJS and the Project Structure
- What NestJS is and how it differs from writing Express directly
- The NestJS 12 ES module project and main.ts
- How modules, controllers and providers fit together
- Generate code with nest generate and nest g resource
- Lab: explore the project and add a first resource
Section 4: Lab: Controllers and Routing
- @Controller and the HTTP method decorators
- Receive values with @Param, @Query and @Body
- Set status codes, headers and redirects
- Named wildcards in the new Express 5 route syntax
- Lab: an in-memory REST API for managing products
Section 5: Providers, Services and Dependency Injection
- Create services with @Injectable and move logic out of controllers
- Constructor injection and the provider lifecycle
- Custom providers with useValue, useClass and useFactory
- Read settings from environment variables with @nestjs/config
- Lab: move the product logic into a service