NestJS Fundamentals

NestJS Fundamentals

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 5h 16m | 902 MB

Get up to speed with NestJS fast. Master the building blocks and essentials concepts behind creating your own enterprise-grade applications.

In this course, we will create a small REST API application – all about Coffee. The course is designed for gradual growth. If you are writing code along with the course, be sure to go through all the lessons and chapters in order. This way, you won’t miss any of the tips, best practices, or code tweaks we’ll be using in future tutorials.

This course covers both SQL and NoSQL paths.

What are we building?

In our application, we’ll cover a few key concepts:

  • Encapsulating functions / business domain into their own modules
  • Creating CRUD Endpoints for the Coffee Object
  • Covers all the important building blocks of NestJS applications
  • Mastering Dependency Injection
  • Integration with both SQL databases (PostgreSQL) and NoSQL (MongoDB)
  • Covering the basics of unit and e2e testing
  • … and much more!
Table of Contents

1 Introduction to NestJS
2 Installing the NestJS CLI (command-line interface)
3 Generating our first NestJS Application
4 What’s inside a NestJS Application
5 Prerequisite: Install Insomnia
6 Running NestJS in Development Mode
7 Creating a Basic Controller
8 Use Route Parameters
9 Handling Request Body / Payload
10 Response Status Codes
11 Handling Update and Delete Requests
12 Implement Pagination with Query Parameters
13 Creating a Basic Service
14 Send User-Friendly Error Messages
15 Encompass Business-Domain in Modules
16 Introduction to Data Transfer Objects
17 Validate Input Data with Data Transfer Objects
18 Handling Malicious Request Data
19 Auto-transform Payloads to DTO instances
20 Before we Get Started
21 Prerequisite: Install Docker
22 Running PostgreSQL
23 Introducing the TypeORM Module
24 Creating a TypeORM Entity
25 Using Repository to Access Database
26 Create a Relation between two Entities
27 Retrieve Entities with their Relations
28 Using Cascading Inserts and Updates
29 Adding Pagination
30 Use Transactions
31 Adding Indexes to Entities
32 Setting up Migrations
33 Understand Dependency Injection
34 Control NestJS Module Encapsulation
35 Diving Into Custom Providers
36 Value based Providers
37 Non-class-based Provider Tokens
38 Class Providers
39 Factory Providers
40 Leverage Async Providers
41 Create a Dynamic Module
42 Control Providers Scope
43 Diving Deeper Into Request-Scoped Providers
44 Introducing the Config Module
45 Custom Environment File Paths
46 Schema Validation
47 Using the Config Service
48 Custom Configuration Files
49 Configuration Namespaces and Partial Registration
50 Asynchronously Configure Dynamic Modules
51 Introducing More Building Blocks
52 Understanding Binding Techniques
53 Catch Exceptions with Filters
54 Protect Routes with Guards
55 Using Metadata to Build Generic Guards or Interceptors
56 Add Pointcuts with Interceptors
57 Handling Timeouts with Interceptors
58 Creating Custom Pipes
59 Bonus: Add Request Logging with Middleware
60 Bonus: Create Custom Param Decorators
61 Introducing the Swagger Module
62 Enabling CLI Plugin
63 Decorating Model Properties
64 Adding Example Responses
65 Using Tags to Group Resources
66 Introduction to Jest
67 Getting Started with Test Suites
68 Adding Unit Tests
69 Diving Into e2e Tests
70 Creating our First e2e Test
71 Implementing e2e Test Logic
72 Before we Get Started
73 Prerequisite: Install Docker
74 Running MongoDB
75 Introducing the Mongoose Module
76 Creating a Mongoose Model
77 Using a Mongoose Model to Access MongoDB
78 Adding Pagination
79 Use Transactions
80 Adding Indexes to Schemas