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

Watch Online NestJS Masterclass - NodeJS Framework Backend Development

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 Advanced Concepts

NestJS Advanced Concepts

Sources: learn.nestjs.com
Prepare for an in-depth guided course & walk-through of Authentication & Authorization for NestJS applications from the Creator Kamil Mysliwiec himself, and Mark Pieszak (Core T...
1 hour 59 minutes 39 seconds
React and NestJS: A Practical Guide with Docker

React and NestJS: A Practical Guide with Docker

Sources: udemy
I'm a FullStack Developer with 10+ years of experience. I'm obsessed with clean code and I try my best that my courses have the cleanest code possible. My teaching style is very...
6 hours 54 minutes 20 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. 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 GraphQL - Schema-first approach

NestJS GraphQL - Schema-first approach

Sources: learn.nestjs.com
Get up to speed with the GraphQL Schema-first approach with NestJS. Master GraphQL fundamentals and essentials concepts behind creating your own enterprise-grade GraphQL applica...
1 hour 52 minutes 6 seconds