Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 3.78 KB

README.md

File metadata and controls

106 lines (77 loc) · 3.78 KB

NestJS: Getting Started

The NestJS application accompanying this course can be found inside the acme-api folder.

Getting Started with NestJS

  1. What is NestJS?
  2. Prerequisites
  3. NestJS CLI
  4. What We'll Be Building in this Course

REST API

  1. Scaffold Project via the CLI
  2. Project Structure
  3. NestJS Modules
  4. Creating a Car Insurance Quote Module
  5. Creating our First Controller
  6. Endpoint to Save Car Insurance Quotes

Pipes: Validations & Transformations

  1. What are Pipes?
  2. Validate the Car Insurance Quote Payload
  3. Transforming the Payload

OpenAPI Specification

  1. Setting up Swagger
  2. Decorating Controller Methods
  3. Decorating DTO Properties
  4. Grouping Resources with Tags

Authentication

  1. Passport
  2. Local Passport Strategy
  3. JSON Web Token
  4. JWT Passport Strategy
  5. Guards
  6. Swagger UI

Business Logic

  1. The Rules
  2. Quote Service

Exception Filters

  1. What is an Exception Filter?
  2. Catching Custom Exceptions with Filters
  3. Binding Filters

Middleware

  1. What is Middleware?
  2. Configuring Middleware
  3. ExpressJS Middleware

Interceptors

  1. What are Interceptors?
  2. Configuring an Interceptor
  3. Custom Interceptor

Add PostgreSQL with Knex

  1. Prerequisite: Install Docker
  2. Running PostgreSQL in a Docker Container
  3. Introducing Knex
  4. Persisting the Car Insurance Quotes

Prisma

  1. Introducing Prisma
  2. Prisma Schema
  3. Prisma Client
  4. Persisting the Car Insurance Quotes
  5. Car Brand Model
  6. Seeding the Database
  7. User Model

Vitest

  1. Introducing Vitest
  2. Removing Jest
  3. Adding Vitest
  4. Unit Tests
  5. End-to-end (e2e) Tests
  6. Debugging
  7. Caveats
  8. Known Issues

Deploying to Heroku

  1. Prerequisites
  2. Environment Variables
  3. The Procfile
  4. Creating a Heroku Application
  5. Setting up a PostgreSQL Database
  6. Application Environment
  7. Deployment

Other Building Blocks

  1. Other Building Blocks