Skip to main content
CF

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

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

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

Related courses

Frequently asked questions

What prerequisites should I have before taking this course?
Before enrolling in the course, you should have a basic understanding of JavaScript and TypeScript, as these languages are fundamental to working with NestJS. Familiarity with Node.js and backend development principles will also be beneficial. Additionally, a basic grasp of Docker is recommended since the course involves managing database environments using Docker.
What projects will I build during the course?
During the course, you will build a working API that utilizes various components of the NestJS framework. This includes setting up controllers and routes, integrating a database using TypeORM, and implementing authentication and authorization mechanisms. You'll also engage with practical examples involving database relations and query building.
Who is the target audience for this course?
The course is intended for developers who are interested in mastering NestJS for building scalable and maintainable Node.js applications. It is suitable for those who have some prior experience in backend development and wish to deepen their knowledge of modern frameworks like NestJS.
How does this course compare in depth and scope to other Node.js courses?
This course offers a focused exploration of the NestJS framework, emphasizing practical application over theoretical discussion. Unlike some lengthier courses, it omits unnecessary content to prioritize time-efficient learning. The course covers essential topics such as dependency injection, database integration with TypeORM, and authentication strategies, making it a robust choice for developers specifically interested in NestJS.
What specific tools and platforms are used in the course?
The course uses several tools and platforms, including Node.js, Docker, and Postman, which are essential for developing and testing NestJS applications. TypeORM is used for database integration, and Visual Studio Code is recommended as the IDE. Students have the option to work with either MySQL or Postgres databases.
What topics are not covered in this course?
The course does not cover front-end development in depth, although an optional lesson on a front-end application is included. The focus is primarily on backend development with NestJS, and it does not delve into advanced frontend frameworks or client-side state management.
How much time should I expect to commit to this course?
The course consists of 118 lessons, designed to provide a thorough understanding of NestJS. While the exact runtime is not specified, prospective students should be prepared to engage with a significant amount of content, including theoretical concepts and hands-on exercises. Time commitment will vary depending on your prior experience and learning pace.