Mô tả

As someone that utilizes NestJS on a daily basis at work and beyond, I'd love to share everything that I've learned in this course. This is the most comprehensive NestJS course on Udemy and if you don't think so, you can request a full refund.


NestJS is a progressive NodeJS framework that will allow us to build reliable scalable, and maintainable server-side backend applications with incredible ease.


In this course, you will be building two professional applications. The first will be an Expense App, where you will learn:

  • The fundamentals of NestJS

  • Different NestJS entities, like controllers, services, interceptors, pipes, and modules

  • NestJS best practices

In the second project, the Realtor App, we will learn about:

  • Interacting with a Postgress database with an ORM (Prisma)

  • Creating a database model and performing CRUD operations

  • How to authenticate and identify a user

  • How to authorize certain endpoints for specific users

  • How to properly write automated tests for our services and controllers

  • How to create custom param decorators

  • Learn about advanced NestJS entities like guards and interceptors


I am very proud of this course and I really hope you take and enjoy it. If you ever need any sort of help, please send me a message on Udemy and I will always answer your questions.

Bạn sẽ học được gì

Learn how to utilize NestJS to be a production ready REST API

Learn how to implement complex functionality like authentication and authorization

Learn how to write tests for your services and controllers

Learn all of the different entities provided in NestJS

Yêu cầu

  • Basic JavaScript knowledge
  • Fundamental understanding of a REST API

Nội dung khoá học

13 sections

Introduction

3 lectures
Introduction
04:15
What is a REST API
04:10
Setup Work
02:00

Creating Routes with Controllers

12 lectures
App Overview
03:09
The Nest CLI
06:50
Working with Controllers
08:04
Updating the Route Path
08:22
Adding Path Parameters
05:27
Adding a POST, PUT and DELETE Endpoint
06:28
A Little on TypeScript
10:19
Accessing Path Parameters With Param Decorators
08:03
Accessing Multiple Path Parameters
04:48
Accessing the Request Body
07:50
Completing the Update Logic
07:02
Completing the Delete Logic
04:50

Business Logic Should Be In Services

5 lectures
Addressing Some Issues
05:05
Creating Our First Service
03:44
Injecting Our Service Into the Controller
04:49
Creating the Rest of the Services
07:48
Manual Testing to See if Everything Still Works
04:55

Adding Validations with Pipes and DTOs

6 lectures
Things We Need to Validate
01:59
Validating the Path Param With a Pipe
05:52
Utilizing an Enum Validation Pipe
02:04
Validating the Body With DTOs
07:50
Making Properties Optional
03:40
Whitelisting Undesired Properties
02:34

Transforming the Response With Interceptors

7 lectures
A Better Response Project
03:17
Creating a Response DTO
05:02
Wrapping the Response Object With the DTO
05:08
Adding a Serializer Interceptor
02:58
Transforming a Property With the Expose Decorator
01:44
What is an Interceptor
03:17
Creating a Custom Interceptor
12:39

Organizing Files with Modules

4 lectures
Adding a New Endpoint
04:44
Moving Our Report Logic Into its Own Directory
06:40
Injecting Services From One Module to Another
08:20
Completing the Summary Endpoint
04:34

Working With Databases

10 lectures
App Overview
04:53
Creating a New Nest Project
01:36
Creating a Postgres Database in the Cloud
06:48
Introducing Prisma (A NodeJS ORM)
02:38
Downloading Prisma Into Our Nest Project
04:21
Defining Our Data Schema
08:06
More on Database Schemas
04:12
Defining Model Relationships
08:42
More Relationships...
07:06
Performing a Migration
01:18

Implementing Authentication

12 lectures
Introduction to Authentication
02:36
Discussing the Signup Logic
03:11
Validating the User Input
12:04
Validating the User's Email
15:34
How Should We Store Passwords?
04:48
Hashing Our Password
02:54
Storing the User in the Database
02:54
What Should We Return?
04:40
Returning a JSON Web Token
05:11
Implementing the Signin Logic
16:11
Adding a Product Key Endpoint
09:01
Validating Individuals That Try to Signup as Realtors or Admins
10:55

Adding Our Business Logic

9 lectures
Creating All of Our Endpoints
06:20
Fetching All Homes
13:27
Define the Response DTO
05:28
Accessing Query Parameters From the Request
06:21
Filtering For Specific Homes
10:48
Validating the Home Body
07:34
Creating a New Home
12:11
Updating a Home
07:14
Deleting a Home
04:20

Identifying the User

7 lectures
An Issue With Our Current Setup
02:59
Creating a Custom Param Decorator
03:31
How Are We Accessing the User Object
04:16
Creating a User Interceptor
15:00
Wrapping up the Custom Decorator Implementation
07:31
Ensuring the Realtor that Created the House Can Delete or Update it
08:45
Creating the Me Endpoint
01:08

Implementing Authorization

9 lectures
The Need for Authorization
02:41
This is the End Goal
02:11
An Introduction to Guards
04:56
Pseudo-Coding Our Guard Logic
03:30
Passing Route Data as Metadata
07:06
Verifying the JWT Token
06:43
Accessing the User From the DB
05:38
Some Manual Testing
04:10
Globally Utilizing the Guard
02:03

A Few More Endpoints

4 lectures
We Need Two More Endpoints
01:19
The Inquire About Home Endpoint
08:58
The Message Retrieval Endpoint
05:28
Send Back More Useful Info
01:39

Writing Automated Tests

9 lectures
An Intro to Automated Testing
02:31
The Structure of a Test File
05:58
Writing Our First Tests
11:57
Testing Whether an Error Was Thrown
01:57
Testing the Create Service
13:29
We Should Also Test the Controller
02:12
Our First Controller Test
05:32
More Controller Tests
08:00
One More Controller Test
04:11

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.