Skip to main content
CourseFlix

NestJS Zero to Hero - Modern TypeScript Back-end Development

8h 44m 8s
English
Paid

NestJS helps you build clear and stable back-end apps with Node.js and TypeScript. It gives you a clean structure, so you can focus on your code and not on setup. You will see how it borrows ideas from tools like Angular to make your work smooth and simple.

About NestJS

NestJS runs on top of Express. It uses TypeScript, which helps you catch mistakes early. It also gives you patterns that guide how you build features. This makes large apps easier to grow and maintain.

The framework keeps gaining users because it offers helpful tools and strong support from the community.

Main features

  • Built with TypeScript
  • Clear project structure
  • Simple to start, easy to grow
  • CLI tool that speeds up setup and builds
  • Good docs and active updates
  • Open-source (MIT license)
  • Many built-in modules like TypeORM, Mongoose, GraphQL, caching and logging
  • Supports monoliths and microservices
  • Friendly for unit tests

What You Will Build

You will plan, build and deploy a full back-end app. You will follow real steps used in production systems that serve large numbers of users.

Requirements

  • Basic JavaScript or Node.js skills
  • Some TypeScript helps, but you can learn it as you go

Who This Course Is For

  • JavaScript developers who want to learn back-end work
  • Developers who want to use TypeScript on the server
  • Anyone who wants to build secure and stable REST APIs
  • Developers who want to deploy apps on AWS
  • People who want to follow a real app from start to launch

What You Will Learn

  • The core parts of NestJS
  • How to design and build CRUD REST APIs
  • Auth flows like login, access control and tokens
  • How to use TypeORM with a database
  • Security steps such as password hashing
  • How to store and read data from a database
  • How to deploy a back-end app on AWS
  • Clean code habits used in the industry
  • How to work with the NestJS CLI
  • How to test APIs with Postman
  • How to use pgAdmin for PostgreSQL
  • How to add logging to your app
  • How to set configs and environment variables
  • How to validate data with Pipes
  • How to guard routes for logged-in users
  • How to model entities for storage
  • Useful TypeScript practices
  • How to work with async and await
  • How to use Data Transfer Objects (DTOs)
  • How to work with JSON Web Tokens (JWT)
  • How to write unit tests for NestJS
  • How to use GraphQL with NestJS
  • How to store data with MongoDB

About the Author: udemy

udemy thumbnail

Udemy is a global online marketplace for teaching and learning. It connects students with instructors who share skills in many fields.

Who Uses Udemy

Millions of learners use Udemy to gain skills for work and personal growth. Companies, governments, and nonprofits also use Udemy to train their teams.

What Udemy Offers

Udemy provides a curated set of business and technical courses. These courses help teams build practical skills and support ongoing learning at work.

Watch Online 116 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Welcome to the course!
All Course Lessons (116)
#Lesson TitleDurationAccess
1
Welcome to the course! Demo
01:12
2
Installing the NestJS CLI
00:58
3
(Optional) Installing VSCode and Extensions
02:56
4
Project Overview
05:18
5
Creating our project via the NestJS CLI
02:05
6
NestJS Project Structure
06:37
7
Introduction to NestJS Modules
02:55
8
Creating a Tasks Module
03:33
9
Introduction to NestJS Controllers
03:47
10
Creating at Tasks Controller
03:38
11
Introduction to NestJS Providers and Services
05:04
12
Creating a Tasks Service
05:55
13
Feature: Getting All Tasks
07:31
14
Creating a Postman Collection
01:44
15
Defining a Task Model
05:02
16
Feature: Creating a Task (Part 1 - Controller)
05:00
17
Feature: Creating a Task (Part 2 - Service)
06:37
18
Intro to Data Transfer Objects (DTO)
05:37
19
Implementing CreateTaskDto
04:59
20
Feature: Getting a Task by ID
05:44
21
Challenge: Deleting a Task
00:53
22
Solution: Deleting a Task
04:24
23
Challenge: Update Task Status
01:20
24
Solution: Update Task Status
05:28
25
Feature: Searching and Filtering
08:50
26
Introduction to NestJS Pipes
04:15
27
ValidationPipe: Creating a Task
04:32
28
Error Handling: Getting a non-existing Task
04:17
29
Error Handling: Deleting a non-existing Task
01:10
30
Validation: Update Task Status
03:28
31
Challenge: Validating Task Filtering and Search
02:43
32
Introduction to Persistence
00:31
33
Running PostgreSQL via Docker
04:03
34
Setting up pgAdmin
01:46
35
Creating a Database using pgAdmin
00:55
36
Introduction to TypeORM
02:58
37
Setting up a Database Connection
04:30
38
Creating a Task Entity
03:52
39
Active Record VS Data Mapper Patterns
03:41
40
Creating a Tasks Repository
03:34
41
Refactoring for Tasks Service
03:45
42
Persistence: Getting a Task by ID
08:34
43
Persistence: Creating a Task
07:32
44
(Challenge) Persistence: Deleting a Task
01:23
45
(Solution) Persistence: Deleting a Task
04:59
46
Persistence: Update Task Status
02:41
47
Small Change Needed
01:41
48
Persistence: Getting All Tasks
12:23
49
Intro to Authentication and Authorization
01:13
50
Setting up AuthModule, User Entity and User Repository
05:06
51
Feature: Signing Up
08:27
52
Validation: Credentials and Password Strength
04:13
53
Error Handling: Username Conflicts
06:43
54
Securely Storing Passwords
07:23
55
Password Hashing With Bcrypt
04:26
56
Feature: Signing In
04:43
57
Intro to JSON Web Tokens (JWT)
05:55
58
Setting up the JWT Module and Passport.js
03:35
59
Signing a JWT Token on Sign In (Authentication)
07:09
60
Implementing JWT Validation
11:39
61
Custom @GetUser Decorator
03:15
62
Guarding the Tasks Routes
02:01
63
Tasks and Users - Database Relation
03:59
64
Make Users Own Tasks
04:37
65
Serialize User Data
03:40
66
Restricting Getting All Tasks
03:31
67
BUG FIX: Getting All Tasks
02:35
68
Restricting Getting a Task By ID
03:51
69
Restricting Status Updates
00:51
70
Restricting Deleting A Task
01:24
71
THANK YOU! (+ Promotion)
01:34
72
Introduction to Logging
02:54
73
Implementing Logs in our NestJS app
14:55
74
Introduction to Configuration
02:11
75
Quick Intro to Environment Variables
03:51
76
Setting up ConfigModule
09:19
77
TypeORM Configuration
09:38
78
Config Schema Validation
06:39
79
JWT Secret Configuration
04:08
80
Front-end Application
05:36
81
Signing up to Heroku
01:07
82
Creating a Heroku Application
01:00
83
Installing the the Heroku CLI
01:12
84
Postgres on Heroku
03:00
85
Changes in our NestJS App
05:12
86
Deploying NestJS to Heroku
09:49
87
Deploying Front-end to GitHub Pages
08:21
88
Unit Testing Crash Course: Basics
01:47
89
Unit Testing Crash Course: First Tests
06:39
90
IMPORTANT: Fixing import paths
01:37
91
Testing TasksService - Part 1
18:44
92
Testing TasksService - Part 2
07:30
93
GraphQL + MongoDB: Section Introduction
01:06
94
Project Overview: School Management
02:39
95
Robo 3T - Connecting to the MongoDB Database
01:15
96
Project setup
02:05
97
Ensure NestJS 7 Installation
00:56
98
Installing GraphQL Dependencies
03:03
99
Creating the Lesson Module
01:27
100
Defining the Lesson GraphQL Type
03:14
101
Creating the Lesson Resolver
04:04
102
Using the GraphQL Playground
03:45
103
Persistence: TypeORM, MongoDB and our Lesson Entity
06:35
104
LessonService and createLesson method
08:06
105
Create Lesson GraphQL Mutation
05:02
106
getLesson GraphQL Query with MongoDB
03:41
107
Validation: Create Lesson Input
07:16
108
Challenge: Get All Lessons GraphQL Query
04:08
109
Creating the Student Module
01:45
110
Challenge: Defining the Student Entity
02:54
111
Challenge: Create Student Mutation
10:29
112
Challenge: Get All Students GraphQL Query
02:38
113
Challenge: Get Student by ID Query
02:45
114
Assign Students To Lesson GraphQL Mutation
10:27
115
Improvement: Assign Students Upon Lesson Creation
03:15
116
Resolve "students" Field in Lesson
08:14
Unlock unlimited learning

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

Learn more about subscription