# Learn NestJS in Hindi 2024

%[https://www.youtube.com/watch?v=9MVSRXe3iMQ&list=PLU-FndeNRY4DtRToRKmYF8qrZgQqzsnNR] 

### 00 Introduction

Why Nestjs

* nestjs and express side by side
    
* nestjs IOC and Typescript
    
* Nestjs decorators
    
* NestJS with Integrations
    
* Nestjs why should i choose it !
    

### controller and services (building blocks)

* Installing Node.js and Yarn
    
* Installing the NestJS CLI
    
* (Optional) Installing VSCode and Extensions
    
* Creating our project via the NestJS CLI
    
* Creating a Tasks Module
    
* Creating at Tasks Controller
    
* Creating a Tasks Service
    
* Defining a Task Model
    
* Feature Creating a Task (Part - Controller)
    
* Feature Creating a Task (Part - Service)
    
* Implementing CreateTaskDto
    
* Feature Getting a Task by ID
    
* CRUD APIs
    
* Feature Searching and Filtering
    

### 02 validation and pipes (building blocks)

* ValidationPipe Creating a Task
    
* Error Handling Deleting a non-existing Task-
    
* Validation Update Task Status
    
* Challenge Validating Task Filtering and Search
    

### 03 exception filters and middleware (all building blocks)

* Controllers with task api
    
* Providers with task crud apis
    
* Modules with task crud apis
    
* Middleware with task crud apis
    
* Exception filters with task crud apis
    
* Pipes with task crud apis
    
* Guards with task crud apis
    
* Interceptors with task crud apis
    
* Custom decorators with task crud apis
    
* create middleware with task crud apis
    
* apply middleware on routes
    
* exclude routes from middleware
    
* Validating Task Filtering and Search
    

### 04 Apply all Learning in Demo

* Create students apis
    
* Use IN-memory database
    
* CRUD APIs with swagger specs
    
* Payload validation using DTO Validation
    
* Apply Middleware on Private Routes
    
* Create a Mock Login APIs with Token in Auth Header
    
* Apply Guards on Private Route
    
* Add exception Filter on Response Payload
    
* Custom payload data validation using class validator
    
* Adding services and dao layer
    
* How to import export and share modules
    
* Code structure of any basic nestjs application
    
* Creating routing using controllers
    
* Using swagger tags to exose api specs
    
* Using REST API client to test apis
    
* Creating Modules and share Modules
    
* Understanding DI Framework
    
* Understand IOC Container
    

### 05 Data store with ORM

* Introduction to Persistence
    
* Installing Docker and pgAdmin
    
* Running PostgreSQL via Docker
    
* Setting up pgAdmin
    
* Creating a Database using pgAdmin
    
* Introduction to TypeORM
    
* Setting up a Database Connection
    
* Creating a Task Entity
    
* Active Record VS Data Mapper Patterns
    
* Creaing a Tasks Repository Refactoring for Tasks Service
    
* Persistence Getting a Task by ID Persistence
    
* Creating a Task (Challenge)
    
* Persistence Deleting a Task (Solution)
    
* Persistence Deleting a Task Persistence Update Task Status
    
* Small Change Needed Persistence Getting All Tasks
    

### 06 Different ORM and Migrations

* Food Delivery APIs with different ORM
    
* Prisma
    
* Sequelize
    
* Mongoose
    
* TypeORM
    

### 07 Data store with Prisma/Mongoose/Sequelize

* Food Delivery APIs with Prisma
    
* Prisma and Migration
    
* Creating Prism Models Building
    
* APIs with Prisma Building Controller and services
    
* Building Prisma schema with postgres
    
* Building APIs with Prisma client apis
    

### 08 Intro to Authentication and Authorization

* Cookies based auth
    
* session based auth
    
* jwt token based auth
    
* json web token
    
* jwt passport and local strategy
    
* Setting up AuthModule
    
* User Entity and User Repository Feature
    
* Signing Up Validation Credentials and Password Strength
    
* Error Handling Username Conflicts
    
* Securely Storing Passwords Password Hashing With Bcrypt
    
* Feature Signing In Setting up the JWT Module and Passport.js
    
* Signing a JWT Token on Sign In (Authentication)
    
* Implementing JWT Validation
    
* Custom @GetUser Decorator Guarding the Tasks Routes
    

### 09 Database relationship

* Food Delivery APIs with TypeORM
    
* Managing relationship in tables
    
* define relationships in typeorm entities
    
* build apis using typeorm
    
* add auth and authz created in above videos
    
* add middeleare and auth guards
    
* add filters and interceptors
