Skip to main content

Master NestJS 9 - Node.js Framework 2023

12h 9m 52s
English
Paid

NestJS is one of the most modern Node.js frameworks available today. This course is designed to teach you everything you need to know to get started quickly and effectively! Unlike lengthier courses that often contain unnecessary chit-chat, this course focuses solely on delivering meaningful content. We prioritize your time and ensure that every minute of the course is filled with essential information. We'll begin with the basics, such as routing and controllers.

Database Integration with TypeORM

Next, we'll dive into database topics using the TypeORM framework, covering areas such as the repository pattern, query building, and handling relations. You can choose to work with either MySQL or Postgres throughout the course.

We'll be using Docker to manage your database environment, reflecting the most modern and practical approach you'll encounter in real-world applications. An understanding of Docker and its operations is integral to the course content.

NestJS Deep Dive

We'll delve into the mechanics of how NestJS operates, including complex concepts like Providers and Dependency Injection. These are powerful features that, although challenging at first, are explained clearly to ensure you grasp their importance and functionality.

Authentication and Authorization

The course covers authentication and authorization—key components of any application for managing user access and security. We'll explore how these are implemented in NestJS, along with comprehensive examples. A thorough exploration of JWT Tokens is also included, ensuring no crucial aspects are overlooked.

Authentication is managed using Passport.js, a standard Node library, equipping you with practical skills in this vital area.

Testing and API Usage

We also explore Unit testing and End-to-End testing, teaching you how to execute these tests effectively within Nest. The course includes ample examples and scenarios reflecting real-world situations you are likely to encounter.

Additionally, we incorporate Postman for API interaction and testing, providing insights into its use beyond simple calls—including collections, environment setup, and automation.

Build a Real-World Application

This is not about creating another theoretical example; you will build a practical API for an existing frontend project (built with Vue 3) provided in the course. You will develop an API for an event attendance application, making the learning process engaging and applicable.

Key Topics Covered:

  • Routing and controllers
  • Database handling with TypeORM, covering Repository, Query Builder, and Relations
  • Utilizing Docker in local development workflows
  • Data validation and serialization techniques
  • Understanding NestJS modules, Dependency Injection, and Providers
  • Effective configuration, logging, and error handling
  • Implementing authentication with Passport.js and Bcrypt
  • Exploring JSON Web Tokens (JWT), including generation and use
  • Authorization methodologies to control user privileges
  • Advanced usage of Postman for API tests and automation
  • Comprehensive unit testing procedures
  • End-to-End testing, including database integration

Course Resources

The course includes full source code available on GitHub, with separate branches for each lecture to track code changes effectively.

We emphasize clarity and simplicity, providing numerous diagrams and visual aids, all available for download.

Engage with peers through our Q&A forums and Discord channel, sharing progress, queries, and insights to enhance your learning journey.

Every aspect of this course is designed to make the learning experience enjoyable and rewarding. The concise yet comprehensive structure ensures a thorough understanding of all topics covered!

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 118 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: About Node, Express, Nest and Backend Development
All Course Lessons (118)
#Lesson TitleDurationAccess
1
About Node, Express, Nest and Backend Development Demo
05:46
2
How to Get Help?
02:00
3
Getting the Source Code!
01:57
4
Don't Know TypeScript or JavaScript?
02:10
5
Software You Need (Node, Docker, Postman)
01:43
6
Using Postman
01:19
7
Using Visual Studio Code
04:14
8
Front-End Application (OPTIONAL!)
04:48
9
Introduction to NestJS - Section Intro
00:40
10
Installing and Using Nest CLI
02:30
11
NestJS Project Structure
04:57
12
Controllers, Routing, Requests - Section Intro
02:29
13
Controllers
05:15
14
Resource Controller
06:35
15
Route Parameters
03:14
16
Request Body
02:07
17
Responses and Status Codes
05:21
18
Request Payload - Data Transfer Objects
03:06
19
The Update Payload
04:24
20
A Working API Example
12:22
21
Database Basics - Section Introduction
03:06
22
Adding Docker to the Stack
03:13
23
Running the Database with Docker Compose
06:57
24
Introduction to ORMs
02:18
25
Connecting to the Database
03:59
26
The Entity (Primary Key & Columns)
07:51
27
Repository Pattern
02:33
28
TypeORM 3 UPGRADE GUIDE!
03:06
29
Repository in Practice
06:35
30
Repository Querying Criteria and Options
08:41
31
Data Validation - Section Introduction
03:29
32
Introduction to Pipes
02:33
33
Input Validation
06:06
34
Validation Groups and Options
05:33
35
Modules, Providers, Dependency Injection - Section Introduction
07:25
36
Introduction to Modules, Providers and Dependency Injection
03:37
37
Creating a Custom Module
02:47
38
Static Modules and Dynamic Modules
04:32
39
Standard & Custom Providers
07:27
40
Application Config and Environments
05:21
41
Custom Configuration Files and Options
06:17
42
Logging
03:28
43
Exception Filters
02:17
44
Understanding Relations
01:42
45
One To Many Relation
05:41
46
Loading Related Entities
03:18
47
Associating Related Entities
06:11
48
Many To Many Relation
06:48
49
Query Builder Introduction
07:42
50
Joins And Aggregation with Query Builder
08:52
51
Filtering Data Using Query Builder
08:57
52
Pagination Using Query Builder
08:46
53
Updating, Deleting, Modifying Relations using QB
12:29
54
One to One Relation
04:15
55
Introduction to Authentication
03:39
56
Local Passport Strategy
07:33
57
Logging In - Passport Strategy with a Nest Guard
06:29
58
JWT - JSON Web Tokens Introduction
04:22
59
JWT - Generating Token
07:15
60
JWT - Strategy & Guard - Authenticating with JWT Token
06:00
61
Hashing Passwords with Bcrypt
02:27
62
Custom CurrentUser Decorator
03:51
63
User Registration
11:17
64
Only Authenticated Users Can Create Events
08:49
65
Only The Owners Can Edit or Delete Events
06:22
66
Interceptors and Serialization
01:51
67
Serializing Data
05:33
68
Serializing Nested Objects
03:38
69
(Practical) Building Full Events API
01:54
70
Relations Between Entities
05:44
71
Getting Event Attendees
06:34
72
Getting Events Organized by User
07:51
73
Current User Event Attendance - the Business Logic
07:37
74
Current User Event Attendance - the Controller
09:19
75
Events Refactoring
14:44
76
Manual Testing with Postman
06:48
77
Introduction to Automated Testing
02:00
78
Introduction to Jest
04:34
79
Basic Unit Test and Code Coverage
06:39
80
Test Grouping, Spies, Mocks, Setup and Teardown
20:59
81
Nest Testing Utilities
04:57
82
Complex Unit Tests Part 1
06:15
83
Complex Unit Tests Part 2
09:43
84
Complex Unit Tests Part 3
06:07
85
Introduction to E2E Testing
07:33
86
E2E Tests with Data Fixtures
08:50
87
Exploring E2E Tests
09:03
88
Dealing with Big E2E Test Suites
09:23
89
Upgrade Guide for Existing Students Nest 7 to Nest 9
06:50
90
What is GraphQL?
02:39
91
How Does GraphQL API Work?
04:49
92
REST vs GraphQL APIs!
03:49
93
Setting Up and Configuring a GraphQL Module
07:10
94
First Resolver, Query and Type!
14:06
95
Nullable Fields & Nested Objects on Types
08:30
96
Query Arguments
07:39
97
Handling Errors Using Exception Filter
07:49
98
Mutations & Input Types (How to Make Changes Using GQL)
10:04
99
Input Types & Data Validation
06:02
100
Resolving Nested Objects & Lazy Database Relations
08:35
101
Field Resolvers
07:05
102
Working with Enums in GraphQL
05:03
103
Editing Data in GraphQL (Edit Input Types)
08:23
104
Not All Fields Should Change - Using Partial/Omit
02:51
105
Deleting in GraphQL
08:56
106
Course, Subject and Teacher Resolvers
15:11
107
Authorization in GraphQL
09:21
108
Authentication Refactoring Visualized
04:55
109
Extract Authentication Logic Into the AuthService (Reusability)
05:35
110
Authentication Resolver - Logging In using GraphQL
08:31
111
Getting Current User in GQL & Me Resolver
08:32
112
Refactoring User Registration Introduction
01:40
113
Moving of User Creation into the UserService
08:31
114
Creating an "Identical Password" Custom Validator
10:46
115
Checking if the User Already Exists Using a Validator
14:50
116
User Registration Mutation in GraphQL
06:39
117
Refactoring Pagination For GraphQL using Tests & Advanced TS Types
12:55
118
Paginated GraphQL Query Results
05:37
Unlock unlimited learning

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

Learn more about subscription