Mô tả

Are you ready to learn the art of building robust and scalable REST & GraphQL APIs? Look no further! This comprehensive course on NestJS is here to guide you through the process of building high-performance APIs.

In this course, you will learn about routing and controllers, using databases including TypeORM for data persistence with Repository, Query Builder, and Relations. You will also explore how to use Docker in your local development workflow and how to perform data validation and serialization.

We dive deep into NestJS modules, Dependency Injection, and Providers, and you will learn about configuring, logging, and error handling. You'll be introduced to authentication using Passport.js and Bcrypt, and you'll understand the concept of JSON Web Tokens (JWT) tokens, how to generate them, and how to use them.

The course also covers authorization and ensuring the user has the necessary privileges. We'll teach you how to use Postman effectively, including creating collections, environments, and automating Postman. Additionally, you'll learn about unit and end-to-end testing, including connecting to a database.

Last but not least, you'll gain hands-on experience building GraphQL APIs and become a pro in no time. The course comes with full source code, diagrams, and visuals to help you understand the concepts better. If you ever get stuck, I'm always available to help you in the Q&A section or on our Discord community. With a focus on practical skills and real-world applications, this course is designed to give you the knowledge and confidence you need to build and deploy your own REST & GraphQL APIs. So, what are you waiting for? Enroll now and start your journey towards becoming a seasoned API developer!


Some of the topics we'll cover, include:

  • Routing and controllers

  • Databases including TypeORM (Repository, Query Builder, Relations)

  • Using Docker in your local development workflow

  • Data validation and serialization

  • All about NestJS modules, Dependency Injection, and Providers

  • Configuring, logging, error handling

  • Authentication including Passport.js, Bcrypt

  • JSON Web Tokens (JWT) tokens explained, generation and usage

  • Authorization (making sure the user has privileges)

  • Using Postman (including collections, environments, and automating Postman)

  • Unit testing

  • End to End testing (including connecting to a database)

  • GraphQL APIs

Bạn sẽ học được gì

Developing robust REST APIs

Understand and Create GraphQL APIs

Testing with Unit & End to End Tests

Robust Development Workflow using Docker

Using modern database abstraction (TypeORM)

Understand Modules, Providers and Services!

Learn Authentication & Authorization (with Passport)

Understand how JWT Tokens Work

Understand how to configure the app and how to keep logs

Understand the Query Builder - learn how to build queries effectively

Learn how to validate and serialize data

Learn to use Nest CLI

Understand code design patterns like Repository or Service

Yêu cầu

  • Basic JavaScript understanding

Nội dung khoá học

18 sections

Introduction to the Course

8 lectures
About Node, Express, Nest and Backend Development
05:45
How to Get Help?
01:59
Getting the Source Code!
01:56
Don't Know TypeScript or JavaScript?
02:09
Software You Need (Node, Docker, Postman)
01:42
Using Postman
01:18
Using Visual Studio Code
04:13
Front-End Application (OPTIONAL!)
04:47

Introduction to NestJS

4 lectures
Introduction to NestJS - Section Intro
00:39
Installing and Using Nest CLI
02:29
NestJS Project Structure
04:56
Understanding the Core Concepts
3 questions

Controllers, Routing, Requests

12 lectures
Controllers, Routing, Requests - Section Intro
02:28
Controllers
05:14
Resource Controller
06:34
Controllers, Routing, and HTTP Methods
6 questions
Route Parameters
03:13
Request Body
02:06
Responses and Status Codes
05:19
Mastering Routes and Responses
6 questions
Request Payload - Data Transfer Objects
03:05
The Update Payload
04:22
A Working API Example
12:21
Data Handling and Object Management
4 questions

Database Basics

12 lectures
Database Basics - Section Introduction
03:05
Adding Docker to the Stack
03:12
Running the Database with Docker Compose
06:56
Introduction to ORMs
02:16
Issue and Solution With Connecting to MySQL Database
00:13
Connecting to the Database
03:58
Prefer Postgres over MySQL? Here's your guide!
00:46
The Entity (Primary Key & Columns)
07:50
Repository Pattern
02:32
TypeORM 3 UPGRADE GUIDE!
03:05
Repository in Practice
06:34
Repository Querying Criteria and Options
08:40

Data Validation

4 lectures
Data Validation - Section Introduction
03:28
Introduction to Pipes
02:32
Input Validation
06:05
Validation Groups and Options
05:32

Modules, Providers, Dependency Injection

5 lectures
Modules, Providers, Dependency Injection - Section Introduction
07:24
Introduction to Modules, Providers and Dependency Injection
03:36
Creating a Custom Module
02:46
Static Modules and Dynamic Modules
04:31
Standard & Custom Providers
07:26

Configuration, Logging, and Errors

4 lectures
Application Config and Environments
05:20
Custom Configuration Files and Options
06:16
Logging
03:27
Exception Filters
02:15

Intermediate Database Concepts

11 lectures
Understanding Relations
01:41
One To Many Relation
05:40
Loading Related Entities
03:17
Associating Related Entities
06:10
Many To Many Relation
06:47
Query Builder Introduction
07:41
Joins And Aggregation with Query Builder
08:50
Filtering Data Using Query Builder
08:56
Pagination Using Query Builder
08:45
Updating, Deleting, Modifying Relations using QB
12:28
One to One Relation
04:13

Authentication, JWT, Authorization

11 lectures
Introduction to Authentication
03:38
Local Passport Strategy
07:32
Logging In - Passport Strategy with a Nest Guard
06:28
JWT - JSON Web Tokens Introduction
04:21
JWT - Generating Token
07:14
JWT - Strategy & Guard - Authenticating with JWT Token
05:59
Hashing Passwords with Bcrypt
02:26
Custom CurrentUser Decorator
03:50
User Registration
11:16
Only Authenticated Users Can Create Events
08:48
Only The Owners Can Edit or Delete Events
06:21

Data Serialization

3 lectures
Interceptors and Serialization
01:50
Serializing Data
05:31
Serializing Nested Objects
03:37

(Practical) Building Full Events API

7 lectures
(Practical) Building Full Events API
01:53
Relations Between Entities
05:43
Getting Event Attendees
06:33
Getting Events Organized by User
07:50
Current User Event Attendance - the Business Logic
07:36
Current User Event Attendance - the Controller
09:18
Events Refactoring
14:42

Introduction to Testing (Manual/Automatic)

3 lectures
Manual Testing with Postman
06:47
Introduction to Automated Testing
01:59
Introduction to Jest
04:33

Unit Testing (Testing Isolated Code)

6 lectures
Basic Unit Test and Code Coverage
06:38
Test Grouping, Spies, Mocks, Setup and Teardown
20:57
Nest Testing Utilities
04:56
Complex Unit Tests Part 1
06:14
Complex Unit Tests Part 2
09:42
Complex Unit Tests Part 3
06:06

End to End Testing (Testing Entire Features)

4 lectures
Introduction to E2E Testing
07:32
E2E Tests with Data Fixtures
08:49
Exploring E2E Tests
09:02
Dealing with Big E2E Test Suites
09:22

Upgrading Nest 7 to Nest 9

1 lectures
Upgrade Guide for Existing Students Nest 7 to Nest 9
06:49

GraphQL APIs - Part 1 - Basics

17 lectures
What is GraphQL?
02:38
How Does GraphQL API Work?
04:48
REST vs GraphQL APIs!
03:48
Setting Up and Configuring a GraphQL Module
07:09
First Resolver, Query and Type!
14:05
Nullable Fields & Nested Objects on Types
08:29
Query Arguments
07:38
Handling Errors Using Exception Filter
07:48
Mutations & Input Types (How to Make Changes Using GQL)
10:03
Input Types & Data Validation
06:01
Resolving Nested Objects & Lazy Database Relations
08:34
Field Resolvers
07:04
Working with Enums in GraphQL
05:02
Editing Data in GraphQL (Edit Input Types)
08:22
Not All Fields Should Change - Using Partial/Omit
02:50
Deleting in GraphQL
08:55
Course, Subject and Teacher Resolvers
15:10

GraphQL - Part 2 - Authentication & Authorization + Refactoring

12 lectures
Authorization in GraphQL
09:20
Authentication Refactoring Visualized
04:54
Extract Authentication Logic Into the AuthService (Reusability)
05:34
Authentication Resolver - Logging In using GraphQL
08:30
Getting Current User in GQL & Me Resolver
08:30
Refactoring User Registration Introduction
01:39
Moving of User Creation into the UserService
08:30
Creating an "Identical Password" Custom Validator
10:44
Checking if the User Already Exists Using a Validator
14:49
User Registration Mutation in GraphQL
06:38
Refactoring Pagination For GraphQL using Tests & Advanced TS Types
12:54
Paginated GraphQL Query Results
05:35

Bonus

1 lectures
Course Roundup
00:11

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.