NestJS: The Complete Developer's Guide
0% Completed
01 – Get Started Here!
02 – The Basics of Nest
Download Attachment
Reading
Lesson 001 Project Setup
Video - 00:4:4 mins
Lesson 002 TypeScript Configuration
Video - 00:5:36 mins
Lesson 003 Creating a Controller
Video - 00:7:3 mins
Lesson 004 Starting Up a Nest App
Video - 00:5:50 mins
Lesson 005 File Naming Conventions
Video - 00:4:36 mins
Lesson 006 Routing Decorators
Video - 00:2:47 mins
03 – Generating Projects with the Nest CLI
Download Attachment
Reading
Lesson 001 App Setup
Video - 00:7:42 mins
Lesson 002 Using the Nest CLI to Generate Files
Video - 00:6:10 mins
Lesson 003 More on Generating Files
Video - 00:4:11 mins
Lesson 004 Adding Routing Logic
Video - 00:4:4 mins
Lesson 005 [Optional] Postman Setup
Video - 00:4:47 mins
Lesson 006 [Optional] VSCode REST Client Extension
Video - 00:5:11 mins
04 – Validating Request Data with Pipes
Download Attachment
Reading
Lesson 001 Accessing Request Data with Decorators
Video - 00:5:38 mins
Lesson 003 Using Pipes for Validation
Video - 00:3:2 mins
Lesson 004 Adding Validation Rules
Video - 00:7:37 mins
Lesson 005 Behind the Scenes of Validation
Video - 00:7:21 mins
Lesson 006 How Type Info is Preserved
Video - 00:6:14 mins
05 – Nest Architecture Services and Repositories
Download Attachment
Reading
Lesson 001 Services and Repositories
Video - 00:6:11 mins
Lesson 002 Implementing a Repository
Video - 00:6:38 mins
Lesson 003 Reading and Writing to a Storage File
Video - 00:4:39 mins
Lesson 004 Implementing a Service
Video - 00:5:1 mins
Lesson 005 Manual Testing of the Controller
Video - 00:7:12 mins
Lesson 006 Reporting Errors with Exceptions
Video - 00:5:26 mins
Lesson 007 Understanding Inversion of Control
Video - 00:11:17 mins
Lesson 008 Introduction to Dependency Injection
Video - 00:9:25 mins
Lesson 009 Refactoring to Use Dependency Injection
Video - 00:7:36 mins
Lesson 010 Few More Notes on DI
Video - 00:5:49 mins
06 – Nest Architecture Organizing Code with Modules
Download Attachment
Reading
Lesson 001 Project Overview
Video - 00:3:6 mins
Lesson 002 Generating a Few Files
Video - 00:4:42 mins
Lesson 003 Setting Up DI Between Modules
Video - 00:5:57 mins
Lesson 004 More on DI Between Modules
Video - 00:4:39 mins
Lesson 005 Consuming Multiple Modules
Video - 00:5:19 mins
Lesson 006 Modules Wrapup
Video - 00:1:53 mins
07 – Big Project Time!
08 – Persisting Data with TypeORM
Download Attachment
Reading
Lesson 001 Persistent Data with Nest
Video - 00:2:50 mins
Lesson 002 Setting Up a Database Connection
Video - 00:7:28 mins
Lesson 003 Creating an Entity and Repository
Video - 00:7:13 mins
Lesson 004 Viewing a DB's Contents
Video - 00:6:54 mins
Lesson 005 Understanding TypeORM Decorators
Video - 00:7:14 mins
Lesson 006 One Quick Note on Repositories
Video - 00:3:53 mins
Lesson 007 A Few Extra Routes
Video - 00:3:8 mins
Lesson 008 Setting Up Body Validation
Video - 00:7:15 mins
Lesson 009 Manual Route Testing
Video - 00:3:52 mins
09 – Creating and Saving User Data
Download Attachment
Reading
Lesson 001 Creating and Saving a User
Video - 00:8:58 mins
Lesson 002 Quick Breather and Review
Video - 00:5:54 mins
Lesson 003 More on Create vs Save
Video - 00:7:36 mins
Lesson 005 Querying for Data
Video - 00:4:41 mins
Lesson 006 Updating Data
Video - 00:11:24 mins
Lesson 007 Removing Users
Video - 00:3:44 mins
Lesson 008 Finding and Filtering Records
Video - 00:5:50 mins
Lesson 009 Removing Records
Video - 00:2:51 mins
Lesson 010 Updating Records
Video - 00:6:6 mins
Lesson 011 A Few Notes on Exceptions
Video - 00:6:48 mins
10 – Custom Data Serialization
Download Attachment
Reading
Lesson 001 Excluding Response Properties
Video - 00:5:50 mins
Lesson 002 Solution to Serialization
Video - 00:4:37 mins
Lesson 003 How to Build Interceptors
Video - 00:12:13 mins
Lesson 004 Serialization in the Interceptor
Video - 00:8:20 mins
Lesson 005 Customizing the Interceptor's DTO
Video - 00:3:2 mins
Lesson 006 Wrapping the Interceptor in a Decorator
Video - 00:3:7 mins
Lesson 007 Controller-Wide Serialization
Video - 00:2:48 mins
Lesson 008 A Bit of Type Safety Around Serialize
Video - 00:3:30 mins
11 – Authentication From Scratch
Download Attachment
Reading
Lesson 001 Authentication Overview
Video - 00:8:21 mins
Lesson 002 Reminder on Service Setup
Video - 00:4:16 mins
Lesson 003 Implementing Signup Functionality
Video - 00:3:44 mins
Lesson 004 [Optional] Understanding Password Hashing
Video - 00:18:49 mins
Lesson 005 Salting and Hashing the Password
Video - 00:8:4 mins
Lesson 006 Creating a User
Video - 00:3:22 mins
Lesson 007 Handling User Sign In
Video - 00:8:28 mins
Lesson 008 Setting up Sessions
Video - 00:6:2 mins
Lesson 009 Changing and Fetching Session Data
Video - 00:5:45 mins
Lesson 010 Signing in a User
Video - 00:4:47 mins
Lesson 011 Getting the Current User
Video - 00:2:1 mins
Lesson 012 Signing Out a User
Video - 00:3:46 mins
Lesson 013 Two Automation Tools
Video - 00:1:57 mins
Lesson 014 Custom Param Decorators
Video - 00:5:34 mins
Lesson 015 Why a Decorator and Interceptor
Video - 00:6:12 mins
Lesson 016 Communicating from Interceptor to Decorator
Video - 00:7:7 mins
Lesson 018 Connecting an Interceptor to Dependency Injection
Video - 00:4:43 mins
Lesson 019 Globally Scoped Interceptors
Video - 00:3:52 mins
Lesson 020 Preventing Access with Authentication Guards
Video - 00:6:46 mins
12 – Getting Started with Unit Testing
Download Attachment
Reading
Lesson 001 Testing Overview
Video - 00:4:42 mins
Lesson 002 Testing Setup
Video - 00:7:16 mins
Lesson 003 Yes, Testing is Confusing
Video - 00:6:49 mins
Lesson 004 Getting TypeScript to Help With Mocks
Video - 00:6:23 mins
Lesson 006 Improving File Layout
Video - 00:4:2 mins
Lesson 007 Ensuring Password Gets Hashed
Video - 00:5:56 mins
Lesson 009 Changing Mock Implementations
Video - 00:7:32 mins
Lesson 011 Testing the Signin Flow
Video - 00:2:2 mins
Lesson 013 Checking Password Comparison
Video - 00:8:37 mins
Lesson 014 More Intelligent Mocks
Video - 00:7:56 mins
Lesson 016 Refactoring to Use Intelligent Mocks
Video - 00:3:24 mins
Lesson 017 Unit Testing a Controller
Video - 00:6:48 mins
Lesson 018 More Mock Implementations
Video - 00:6:00 mins
Lesson 020 Not Super Effective Tests
Video - 00:8:10 mins
Lesson 021 Testing the Signin Method
Video - 00:6:28 mins
13 – Integration Testing
Download Attachment
Reading
Lesson 001 Getting Started with End to End Testing
Video - 00:3:31 mins
Lesson 002 Creating an End to End Test
Video - 00:6:41 mins
Lesson 003 App Setup Issues in Spec Files
Video - 00:8:26 mins
Lesson 004 Applying a Globally Scoped Pipe
Video - 00:5:2 mins
Lesson 005 Applying a Globally Scoped Middleware
Video - 00:4:40 mins
Lesson 006 Solving Failures Around Repeat Test Runs
Video - 00:4:46 mins
Lesson 007 Creating Separate Test and Dev Databases
Video - 00:4:44 mins
14 – Managing App Configuration
Download Attachment
Reading
Lesson 001 Understanding Dotenv
Video - 00:5:25 mins
Lesson 002 Applying Dotenv for Config
Video - 00:6:48 mins
Lesson 003 Specifying the Runtime Environment
Video - 00:4:44 mins
Lesson 004 Solving a SQLite Error
Video - 00:2:53 mins
Lesson 005 It Works!
Video - 00:4:35 mins
Lesson 006 A Followup Test
Video - 00:5:22 mins
15 – Relations with TypeORM
Download Attachment
Reading
Lesson 001 Back to Reports
Video - 00:1:00 mins
Lesson 002 Adding Properties to Reports
Video - 00:2:52 mins
Lesson 003 A DTO for Report Creation
Video - 00:3:50 mins
Lesson 004 Receiving Report Creation Requests
Video - 00:7:7 mins
Lesson 005 Saving a Report with the Reports Service
Video - 00:4:11 mins
Lesson 006 Testing Report Creation
Video - 00:4:7 mins
Lesson 007 Building Associations
Video - 00:3:35 mins
Lesson 008 Types of Associations
Video - 00:6:39 mins
Lesson 009 The ManyToOne and OneToMany Decorators
Video - 00:5:45 mins
Lesson 011 More on Decorators
Video - 00:8:28 mins
Lesson 012 Setting up the Association
Video - 00:6:38 mins
Lesson 013 Formatting the Report Response
Video - 00:3:38 mins
Lesson 014 Transforming Properties with a DTO
Video - 00:5:4 mins
16 – A Basic Permissions System
Download Attachment
Reading
Lesson 001 Adding in Report Approval
Video - 00:5:58 mins
Lesson 003 Testing Report Approval
Video - 00:5:48 mins
Lesson 004 Authorization vs Authentication
Video - 00:4:17 mins
Lesson 005 Adding an Authorization Guard
Video - 00:4:35 mins
Lesson 006 The Guard Doesn't Work!
Video - 00:2:18 mins
Lesson 007 Middlewares, Guards, and Interceptors
Video - 00:3:49 mins
Lesson 008 Assigning CurrentUser with a Middleware
Video - 00:8:15 mins
Lesson 009 Fixing a Type Definition Error
Video - 00:2:33 mins
Lesson 010 Validating Query String Values
Video - 00:7:27 mins
Lesson 011 Transforming Query String Data
Video - 00:3:48 mins
Lesson 012 How Will We Generate an Estimate
Video - 00:3:31 mins
17 – Query Builders with TypeORM
18 – Production Deployment
Download Attachment
Reading
Lesson 001 The Path to Production
Video - 00:2:8 mins
Lesson 002 Providing the Cookie Key
Video - 00:3:35 mins
Lesson 003 Understanding the Synchronize Flag
Video - 00:3:43 mins
Lesson 004 The Dangers of Synchronize
Video - 00:2:22 mins
Lesson 005 The Theory Behind Migrations
Video - 00:3:20 mins
Lesson 006 Headaches with Config Management
Video - 00:4:48 mins
Lesson 007 TypeORM and Nest Config is Great
Video - 00:24:4 mins
Lesson 008 Env-Specific Database Config
Video - 00:6:39 mins
Lesson 009 Installing the TypeORM CLI
Video - 00:4:39 mins
Lesson 010 Generating and Running Migrations
Video - 00:7:7 mins
Lesson 012 Running Migrations During E2E Tests
Video - 00:2:49 mins
Lesson 013 Production DB Config
Video - 00:4:2 mins
Lesson 015 Heroku Specific Project Config
Video - 00:2:42 mins
Lesson 016 Deploying the App - (Final Lecture)
Video - 00:2:51 mins
19 – [Bonus] Appendix TypeScript
Download Attachment
Reading
Lesson 001 How to Get Help
Video - 00:1:4 mins
Lesson 002 TypeScript Overview
Video - 00:6:19 mins
Lesson 003 Environment Setup
Video - 00:8:00 mins
Lesson 005 A First App
Video - 00:4:43 mins
Lesson 006 Executing TypeScript Code
Video - 00:5:3 mins
Lesson 007 One Quick Change
Video - 00:3:35 mins
Lesson 008 Catching Errors with TypeScript
Video - 00:7:22 mins
Lesson 009 Catching More Errors!
Video - 00:5:15 mins
Lesson 010 Course Overview
Video - 00:3:36 mins
Lesson 011 Types
Video - 00:5:12 mins
Lesson 012 More on Types
Video - 00:5:53 mins
Lesson 013 Examples of Types
Video - 00:4:49 mins
Lesson 014 Where Do We Use Types
Video - 00:00:49 mins
Lesson 015 Type Annotations and Inference
Video - 00:2:3 mins
Lesson 016 Annotations with Variables
Video - 00:4:53 mins
Lesson 017 Object Literal Annotations
Video - 00:6:53 mins
Lesson 018 Annotations Around Functions
Video - 00:5:56 mins
Lesson 019 Understanding Inference
Video - 00:3:51 mins
Lesson 020 The Any Type
Video - 00:7:47 mins
Lesson 021 Fixing the Any Type
Video - 00:1:49 mins
Lesson 022 Delayed Initialization
Video - 00:3:5 mins
Lesson 023 When Inference Doesn't Work
Video - 00:4:37 mins
Lesson 024 More Annotations Around Functions
Video - 00:4:56 mins
Lesson 025 Inference Around Functions
Video - 00:6:8 mins
Lesson 026 Annotations for Anonymous Functions
Video - 00:1:43 mins
Lesson 027 Void and Never
Video - 00:2:49 mins
Lesson 028 Destructuring with Annotations
Video - 00:3:35 mins
Lesson 029 Annotations Around Objects
Video - 00:7:5 mins
Lesson 030 Arrays in TypeScript
Video - 00:5:5 mins
Lesson 031 Why Typed Arrays
Video - 00:4:30 mins
Lesson 032 Multiple Types in Arrays
Video - 00:2:57 mins
Lesson 033 When to Use Typed Arrays
Video - 00:00:54 mins
Lesson 034 Tuples in TypeScript
Video - 00:4:5 mins
Lesson 035 Tuples in Action
Video - 00:5:28 mins
Lesson 036 Why Tuples
Video - 00:3:20 mins
Lesson 037 Interfaces
Video - 00:1:26 mins
Lesson 038 Long Type Annotations
Video - 00:4:42 mins
Lesson 039 Fixing Annotations with Interfaces
Video - 00:4:36 mins
Lesson 040 Syntax Around Interfaces
Video - 00:3:31 mins
Lesson 041 Functions In Interfaces
Video - 00:4:46 mins
Lesson 042 Code Reuse with Interfaces
Video - 00:4:15 mins
Lesson 043 General Plan with Interfaces
Video - 00:3:12 mins
Lesson 044 Classes
Video - 00:3:47 mins
Lesson 045 Basic Inheritance
Video - 00:3:3 mins
Lesson 046 Class Method Modifiers
Video - 00:6:41 mins
Lesson 047 Fields in Classes
Video - 00:6:18 mins
Lesson 048 Fields with Inheritance
Video - 00:4:18 mins
Lesson 049 Where to Use Classes
Video - 00:1:10 mins
Lesson 051 App Overview
Video - 00:2:45 mins
Lesson 052 Bundling with Parcel
Video - 00:4:54 mins
Lesson 053 Project Structure
Video - 00:3:19 mins
Lesson 055 Generating Random Data
Video - 00:5:29 mins
Lesson 056 Type Definition Files
Video - 00:5:17 mins
Lesson 057 Using Type Definition Files
Video - 00:6:20 mins
Lesson 058 Export Statements in TypeScript
Video - 00:5:6 mins
Lesson 059 Defining a Company
Video - 00:4:43 mins
Lesson 061 Adding Google Maps Support
Video - 00:7:38 mins
Lesson 063 Google Maps Integration with TypeScript
Video - 00:4:6 mins
Lesson 064 Exploring Type Definition Files
Video - 00:12:46 mins
Lesson 065 Hiding Functionality
Video - 00:6:28 mins
Lesson 066 Why Use Private Modifiers Here's Why
Video - 00:8:25 mins
Lesson 067 Adding Markers
Video - 00:9:18 mins
Lesson 068 Duplicate Code
Video - 00:2:45 mins
Lesson 069 One Possible Solution
Video - 00:6:38 mins
Lesson 070 Restricting Access with Interfaces
Video - 00:5:36 mins
Lesson 071 Implicit Type Checks
Video - 00:3:26 mins
Lesson 072 Showing Popup Windows
Video - 00:6:47 mins
Lesson 073 Updating Interface Definitions
Video - 00:7:12 mins
Lesson 074 Optional Implements Clauses
Video - 00:6:6 mins
Lesson 075 App Wrapup
Video - 00:8:8 mins
20 – Bonus!
Download Vietnamese subtitle: Click here
Download English subtitle: Click here
Finish Course Early?
You have not completed all required lessons and assessments.
Your Progress
0%
