Skip to main content

NestJS Masterclass - NodeJS Framework Backend Development

24h 26m 30s
English
Paid

Course description

NestJS is a framework for Node.js designed for creating efficient, reliable, and scalable server-side applications. Its architecture is inspired by Angular, and thanks to this approach, NestJS has become popular, with more than 3 million downloads on NPM weekly.

When I was learning NestJS, I had to overcome a steep learning curve. I lacked a detailed and structured course that would simplify this process. That is why I created the "NestJS Masterclass": so that other developers wouldn't have to face such difficulties when learning NestJS.

Read more about the course

I guarantee that the "NestJS Masterclass" is the most detailed, comprehensive, and structured course on NestJS on the market! Nothing compares to this course, I promise you!

Practical Training in NestJS

Throughout the course, we create a server-side REST API for a blog, studying various NestJS features through real-world examples and delving into its internal mechanisms.

Thoughtful Structure and Curriculum

In creating the course curriculum, I invested a lot of time and effort to make learning NestJS as accessible as possible. The course covers all the key topics necessary for a deep understanding of the framework.

By the end of the course, you will confidently master NestJS and be ready to create complex server-side applications using this powerful framework.

Course Topics Overview:

  • NestJS Modules: Understanding the principles of how NestJS modules work, their internal structure and schemas, including services and providers.
  • Validation and Pipes: Learn how to use the class-validator package and Pipes for validating incoming data in a NestJS application.
  • Dependency Injection: Dive into the DI (Dependency Injection) system, ensuring the modularity of the application, including addressing cyclic dependencies.
  • Code Documentation: Explore NestJS capabilities for documenting APIs using Open API Specification and source code documentation with Compodoc.
  • TypeORM and Relational Databases: Use PostgreSQL and TypeORM integration for creating a REST API application, learning the intricacies of working with databases.
  • Database Relations: Master relationships between tables in SQL: one-to-one, one-to-many, and many-to-many, clarifying possible misconceptions on these topics.
  • Environment Configuration: Learn how NestJS manages configurations for different environments.
  • Exception Handling: Elegant management of exceptions to enhance user and developer experience.
  • Database Transactions: Study TypeORM transactions for safely executing related operations.
  • User Authentication with JWT: Build a JWT-based authentication system for application security.
  • Guards and Decorators: Use Guards for request filtering and decorators for metadata and data transmission.
  • Google Authentication: Use Google OAuth to simplify registration.
  • File Upload: Implement a file upload mechanism to the server using Interceptors.
  • Unit Testing and End-to-End Testing: Create unit tests to ensure high code quality.
  • Mongoose and MongoDB: Work with NoSQL databases like MongoDB using Mongoose.
  • Deployment to AWS: A complete guide to deploying a production application on AWS, including using CloudFront and S3 for media file storage.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 242 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: NestJS Masterclass Introduction

All Course Lessons (242)

#Lesson TitleDurationAccess
1
NestJS Masterclass Introduction Demo
03:16
2
What Will We Build in This Course
01:15
3
What is NestJS
09:13
4
Setting Up The Development Enviroment
02:30
5
Installing NestJS CLI
05:19
6
Creating Our First NestJs Application
09:22
7
Boilerplate Code In NestJs
01:23
8
Best Learning Path For The Course
01:55
9
What are Modules?
08:00
10
How NestJS Bootstraps (main.ts)
03:59
11
Understanding the app Module
06:03
12
Creating a New users Module
09:57
13
What is a REST API
16:28
14
Setting Up Postman and httpYac
06:49
15
Creating Controllers
08:27
16
Working With Routing Decorators
05:02
17
Params, Query and Body
13:38
18
Additional Request Components
04:53
19
Providers in NestJS
03:55
20
What are Pipes?
06:03
21
Validation and Transformation Needs
03:39
22
Validating Params with Built-in Pipes
05:46
23
Validating Query Params
05:04
24
Introduction to DTO
02:59
25
Creating Our First DTO
10:13
26
Connecting DTO to Route Method
07:42
27
Global Pipes and Avoiding Malicious Request
05:31
28
Converting to an Instance of DTO
03:02
29
Using DTOs with Params
05:53
30
Using Mapped Types To Avoid Code Duplication
07:06
31
Introduction To Inversion Of Control
10:22
32
Dependency Injection In NestJS
09:18
33
Create a users Service
04:48
34
findall Users Method
05:23
35
findOneById Users Method
01:27
36
Practice: Create a Posts Module
00:52
37
Solution: Create a Posts Module
05:30
38
Types Of Dependencies
02:07
39
Create a GET Posts Route With DTO
04:03
40
Return Posts From Posts Service
01:51
41
Use Users Service Inside Posts Service
04:28
42
Practice: Create an Auth Module
00:34
43
Solution: Create an Auth Module
02:06
44
Circular Dependency
08:57
45
Documentation With NestJS
05:40
46
Open API Specification
01:34
47
Enabling Swagger in NestJS
04:28
48
Adding Configuration Methods to Swagger
07:19
49
Documenting GET users
09:47
50
Practice: POST Endpoint and DTO For Posts Controller
03:05
51
Solution: POST Endpoint and DTO For Posts Controller
07:05
52
Adding Validations To CreatePostDto
07:19
53
Working With Nested DTOs
06:08
54
Testing Validation
07:38
55
Using Swagger For Documenting CreatePostDto
13:19
56
Mapped Types Using Swagger
11:06
57
Getting Started With Compodoc
04:45
58
Compodoc Coverage And JSDocs
05:48
59
Working with Databases In NestJS
04:37
60
What is an ORM?
06:54
61
Installing PostgreSQL Locally
05:26
62
Adding psql to PATH
03:07
63
Connecting NestJS to PostgreSQL
07:27
64
Using Async Configuration
03:30
65
Theoretical Understanding of the Repository Pattern
06:17
66
Creating Our First Entity - user.entity
06:55
67
Expanding Entity Definition
08:19
68
Creating First Repository
16:16
69
Practice: Creating Post Entity
00:34
70
Solution: Creating Post Entity
10:29
71
Relationships in SQL Database
04:56
72
Creating the Tags Entity
09:22
73
Creating The Meta Options Entity
04:14
74
Updating DTO Files
07:21
75
Autoloading Entities
03:51
76
One to One Relationships
01:48
77
Uni-directional One To One Relationship
04:53
78
Creating MetaOptions Service
09:13
79
Creating Post With Relationships
15:22
80
Cascade Creation with Relationships
05:31
81
Querying with Eager Loading
04:28
82
Deleting Related Entities
08:52
83
Bi-Directional One To One Relationship
02:12
84
Creating A Bi-Directional Relationship
07:11
85
Cascade Delete With Bi-Directional Relationship
06:12
86
One To Many Relationships
01:50
87
Creating One To Many Relationship
03:36
88
Create Post With Author
10:34
89
Eager Loading Author
02:51
90
Many To Many Relationships
01:51
91
Practice: Service To Create Tags
00:50
92
Solution: TagsService
05:14
93
Testing Tags Service
02:32
94
Uni-Directional Many To Many Relationship
09:21
95
Querying Many To Many Relationship
02:33
96
Updating Post With New Tags
16:12
97
Deleting Post and Relationship
02:44
98
Bi-Directional Many To Many Relationship
02:27
99
Cascade Delete With Many To Many
07:44
100
Soft Delete Tags
07:03
101
Introduction To Environments
02:48
102
Installing Config Module
03:41
103
Using Config Service
04:11
104
Confirming NODE_ENV While Testing
05:47
105
Conditionally Loading Environments
07:42
106
Inject Database Details
05:57
107
Custom configuration Files
11:54
108
Config Files With Namespaces
04:31
109
Module Configuration and Partial Registration
07:12
110
Validating Environment Variables
06:46
111
Introduction To Exception Handling
02:29
112
Built-in Http Exceptions
01:06
113
Identifying Points of Failure
03:52
114
Exception Handling Model Constraints
11:29
115
Create User Exception Handling
04:55
116
Throw a Custom Exception
05:59
117
Practice: Exception Handling Post Update
00:50
118
Solution: Exception Handling Post Update
07:01
119
Understanding Transactions
04:07
120
TypeORM QueryRunner
03:14
121
Creating First Transaction
13:27
122
Why Create Post Is Not a Transaction
02:29
123
Creating Multiple Providers
08:16
124
Updating The DTO
10:19
125
Practice: Handle Exceptions For CreateManyUsers
00:37
126
Solution: Handle Exceptions For CreateManyUsers
06:15
127
Introduction To Pagination
04:15
128
Creating Pagination Query DTO
13:16
129
Adding Pagination To Query
06:25
130
Pagination Module And Interface
09:11
131
Using paginateQuery
04:11
132
Building Response Object
10:38
133
Complete Paginated Response
09:36
134
Introduction To Authentication
03:39
135
Hashing And Salting Passwords
05:21
136
Create Hashing Providers
06:37
137
Implementing Hashing Provider
03:36
138
User Signup
12:51
139
User SignIn Controller
12:22
140
Completing the signIn Method
08:30
141
Custom Response Code
03:52
142
Understanding JWTs
07:26
143
Adding JWT Configuration
09:34
144
Generating JWT
05:55
145
JWT Token Signatures
03:59
146
Introducing Guards
02:11
147
Creating AccessTokenGuard
09:22
148
Completing AccessTokenGuard Implementation
05:43
149
Testing the AccessTokenGuard
06:46
150
Applying AccessTokenGuard Globally
05:25
151
Practice: Validations For JWT env Variables
00:31
152
Solution: Validations For JWT env Variables
01:37
153
What Are Decorators
05:23
154
Our First Decorator
09:43
155
Authentication Guard Strategy
03:16
156
Create AuthenticationGuard
11:54
157
AuthenticationGuard Implemenation
18:23
158
Understanding User Payload
04:53
159
Create Active User Decorator
09:34
160
Practice: Refactor createPostDto
01:11
161
Solution: Refactor createPostDto
10:02
162
Introduction To Refresh Tokens
03:57
163
Refresh Token Configuration
04:58
164
Generate Tokens Provider
06:10
165
Generate Tokens Method
05:26
166
Generate Refresh Token On SignIn
02:51
167
Generate Access Token Using Refresh Token
09:53
168
Create Refresh Token Endpoint
04:55
169
Google Authentication Strategy
03:36
170
Create Google Project
05:27
171
Setting The Configuration
08:40
172
Initialize Google Auth Client
05:35
173
Implementation Strategy Google Authentication
07:23
174
Implement Authentication With Google Token
05:31
175
React App In Front-End
10:39
176
createGoogleUser Method
06:12
177
Complete Google Authentication
03:24
178
Testing Google Authentication
01:19
179
Introducing Interceptors and Serialization
03:42
180
Serializing User Entity
04:38
181
Global Data Interceptor
06:06
182
Adding API Version
06:51
183
Introduction To File Uploads
03:16
184
Setup S3 And Cloudfront
09:46
185
Uploads Module And Configuration
10:25
186
Create Upload Entity
06:37
187
Upload File Service And Controller
08:04
188
UploadToAwsProvider
14:08
189
Complete Uploads Service
12:02
190
Testing File Uploads
06:02
191
Introduction To Notification Emails
01:49
192
Setup A Mailtrap Account
01:24
193
Configuration For Notification Emails
06:29
194
Configure NestJS Mailer
09:12
195
Creating MailService
06:22
196
Testing Email Service
07:10
197
Enabling Inline CSS
02:09
198
Introduction To Testing
03:25
199
Test Settings
01:53
200
Understanding Unit Tests
09:37
201
Testing UsersService
04:46
202
Mocking Providers
06:22
203
Testing Service Method
10:41
204
New Spec File For CreateUserProvider
06:15
205
Mocking Repositories
07:35
206
Mocking Other Providers
04:16
207
Using Mock Repository To Test
10:03
208
Running Tests
02:31
209
What Is End To End Testing
03:52
210
Test Database And Configuration
02:03
211
Encapsulate App Creation Logic
04:50
212
Creating First E2E Test
06:36
213
Completing App Loading Lifecycle
10:13
214
Encapsulate Application Bootstrap
04:10
215
Introduction To Faker
05:28
216
Testing Validations
03:23
217
Completing All Test Cases
05:34
218
Introduction To MongoDB With Mongoose
06:02
219
Creating MongoDB Account
08:10
220
MongoDB Configuration
06:28
221
First Schema - User
09:42
222
Post Schema
07:55
223
Create Using Model
06:28
224
Mongoose Sub Documents
03:10
225
Single Sub Document
07:54
226
Practice: Tags Module
01:08
227
Solution: Tags Module
05:02
228
Practice: Tags Service + Controller
01:07
229
Solution: Tags Service + Controller
06:00
230
Array Of Sub Documents
06:33
231
Querying Sub Documents
04:32
232
Deployment Strategy
04:35
233
Creating An EC2 Instance
05:12
234
Installing Node, NPM and GIT
07:47
235
Installing PostgreSQL
03:52
236
Installing and Configuring NGINX
07:58
237
Git Clone And Install
03:34
238
Create The .env file
02:50
239
Understanding Migrations
04:27
240
Creating and Running Migrations
09:29
241
Testing Migration On EC2
07:22
242
Running with PM2
05:42

Unlock unlimited learning

Get instant access to all 241 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

NestJS. Architecture and Advanced Patterns

NestJS. Architecture and Advanced Patterns

Sources: learn.nestjs.com
In one of our most advanced courses yet. In this course, we will be covering many powerful Architectural Concepts & Patterns used in some of today's most complex Node.js systems...
2 hours 15 minutes 52 seconds
NestJS: The Complete Developer's Guide

NestJS: The Complete Developer's Guide

Sources: udemy, Stephen Grider
Congratulations! You've found the complete guide on how to build enterprise-ready apps with NestJS. NestJS is a backend framework used to create scalable and re
19 hours 40 minutes 39 seconds
React, NextJS and NestJS: A Rapid Guide - Advanced

React, NextJS and NestJS: A Rapid Guide - Advanced

Sources: udemy
React with Typescript, Next.js, Redux, NestJS, Docker, Redis, Stripe, Frontend & Backend Filtering. Learn how to create an Ambassador App using React, NextJS an
8 hours 40 minutes 51 seconds
NestJS Microservices: Build & Deploy a Scaleable Backend

NestJS Microservices: Build & Deploy a Scaleable Backend

Sources: udemy
NestJS is an incredible backend framework that allows us to build scaleable Node.js backends with very little complexity. A microservice architecture is a popul
9 hours 2 minutes 2 seconds
Master NestJS 9 - Node.js Framework 2023

Master NestJS 9 - Node.js Framework 2023

Sources: udemy
NestJS is one of the most modern Node.js frameworks out there. This course will teach you everything you need to know to get you started ASAP! Don't get fooled
12 hours 9 minutes 52 seconds