Why Nestjs
- nestjs and express side by side
- nestjs IOC and Typescript
- Nestjs decorators
- NestJS with Integrations
- Nestjs why should i choose it !
- 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
- ValidationPipe Creating a Task
- Error Handling Deleting a non-existing Task-
- Validation Update Task Status
- Challenge Validating Task Filtering and Search
- 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
- 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
- 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
- Food Delivery APIs with different ORM
- Prisma
- Sequelize
- Mongoose
- TypeORM
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
- Cookies based auth
- session based auth
- jwt token based auth
- 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
- Decorator Guarding the Tasks Routes
- 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