[Last updated 4/2024] NestJS: The Complete Developer’s Guide (Udemy – Engsub)
About Course
Views
What you’ll learn:
Deploy a feature-complete app to production
Build authentication and permissions systems from scratch
Write integration and unit tests to ensure your code is working
Automatically validate data included with incoming requests
Use an API client to manually test your app
Apply structure to your code with Typescript
Make your code more reusable and testable with dependency injection
Tie different types of data together with TypeORM relationships
Get a behind-the-scenes understanding of NestJS
Use Guards to prevent unauthorized users from gaining access to sensitive data
Understand Nest’s special request-response cycle
Model your app’s data using TypeORM entities
Use decorators to dramatically simplify your code
Link gốc:
https://www.udemy.com/course/nestjs-the-complete-developers-guide/
Time Course:
19.5 hours (244 Lectures + Documents)
Instructor
: Stephen Grider
Total Weight:
7.81 GB
** Note
:
Chú ý:
Course Content
10 – Custom Data Serialization
-
001 Excluding Response Properties.mp4
05:50 -
002 Solution to Serialization.mp4
04:37 -
003 How to Build Interceptors.mp4
12:13 -
004 Serialization in the Interceptor.mp4
08:20 -
005 Customizing the Interceptor’s DTO.mp4
03:02 -
006 Wrapping the Interceptor in a Decorator.mp4
03:07 -
007 Controller-Wide Serialization.mp4
02:48 -
008 A Bit of Type Safety Around Serialize.mp4
03:30
19 – [Bonus] Appendix TypeScript
-
046 Class Method Modifiers.mp4
06:40 -
056 Type Definition Files.mp4
05:16 -
055 Generating Random Data.mp4
05:29 -
053 Project Structure.mp4
03:19 -
052 Bundling with Parcel.mp4
04:54 -
051 App Overview.mp4
02:44 -
049 Where to Use Classes.mp4
01:09 -
048 Fields with Inheritance.mp4
04:18 -
047 Fields in Classes.mp4
06:18 -
057 Using Type Definition Files.mp4
06:20 -
045 Basic Inheritance.mp4
03:02 -
044 Classes.mp4
03:46 -
043 General Plan with Interfaces.mp4
03:11 -
042 Code Reuse with Interfaces.mp4
04:15 -
041 Functions In Interfaces.mp4
04:45 -
040 Syntax Around Interfaces.mp4
03:30 -
039 Fixing Annotations with Interfaces.mp4
04:36 -
038 Long Type Annotations.mp4
04:41 -
067 Adding Markers.mp4
09:18 -
075 App Wrapup.mp4
08:07 -
074 Optional Implements Clauses.mp4
06:06 -
073 Updating Interface Definitions.mp4
07:11 -
072 Showing Popup Windows.mp4
06:47 -
071 Implicit Type Checks.mp4
03:26 -
070 Restricting Access with Interfaces.mp4
05:35 -
069 One Possible Solution.mp4
06:37 -
068 Duplicate Code.mp4
02:44 -
037 Interfaces.mp4
01:26 -
066 Why Use Private Modifiers Here’s Why.mp4
08:25 -
065 Hiding Functionality.mp4
06:28 -
064 Exploring Type Definition Files.mp4
12:46 -
063 Google Maps Integration with TypeScript.mp4
04:05 -
061 Adding Google Maps Support.mp4
07:38 -
059 Defining a Company.mp4
04:42 -
058 Export Statements in TypeScript.mp4
05:05 -
011 Types.mp4
05:11 -
019 Understanding Inference.mp4
03:50 -
018 Annotations Around Functions.mp4
05:55 -
017 Object Literal Annotations.mp4
06:53 -
016 Annotations with Variables.mp4
04:53 -
015 Type Annotations and Inference.mp4
02:02 -
014 Where Do We Use Types.mp4
00:49 -
013 Examples of Types.mp4
04:48 -
012 More on Types.mp4
05:53 -
020 The Any Type.mp4
07:47 -
010 Course Overview.mp4
03:35 -
009 Catching More Errors!.mp4
05:15 -
008 Catching Errors with TypeScript.mp4
07:22 -
007 One Quick Change.mp4
03:35 -
006 Executing TypeScript Code.mp4
05:03 -
005 A First App.mp4
04:42 -
003 Environment Setup.mp4
07:59 -
002 TypeScript Overview.mp4
06:19 -
028 Destructuring with Annotations.mp4
03:35 -
036 Why Tuples.mp4
03:19 -
035 Tuples in Action.mp4
05:27 -
034 Tuples in TypeScript.mp4
04:04 -
033 When to Use Typed Arrays.mp4
00:53 -
032 Multiple Types in Arrays.mp4
02:57 -
031 Why Typed Arrays.mp4
04:30 -
030 Arrays in TypeScript.mp4
05:04 -
029 Annotations Around Objects.mp4
07:05 -
001 How to Get Help.mp4
01:03 -
027 Void and Never.mp4
02:48 -
026 Annotations for Anonymous Functions.mp4
01:42 -
025 Inference Around Functions.mp4
06:07 -
024 More Annotations Around Functions.mp4
04:55 -
023 When Inference Doesn’t Work.mp4
04:36 -
022 Delayed Initialization.mp4
03:04 -
021 Fixing the Any Type.mp4
01:49
18 – Production Deployment
-
001 The Path to Production.mp4
02:08 -
002 Providing the Cookie Key.mp4
03:35 -
003 Understanding the Synchronize Flag.mp4
03:43 -
004 The Dangers of Synchronize.mp4
02:22 -
005 The Theory Behind Migrations.mp4
03:20 -
006 Headaches with Config Management.mp4
04:48 -
007 TypeORM and Nest Config is Great.mp4
24:04 -
008 Env-Specific Database Config.mp4
06:39 -
009 Installing the TypeORM CLI.mp4
04:38 -
010 Generating and Running Migrations.mp4
07:07 -
012 Running Migrations During E2E Tests.mp4
02:49 -
013 Production DB Config.mp4
04:02 -
015 Heroku Specific Project Config.mp4
02:42 -
016 Deploying the App – (Final Lecture).mp4
02:51
17 – Query Builders with TypeORM
-
001 Creating a Query Builder.mp4
05:14 -
002 Writing a Query to Produce the Estimate.mp4
08:32 -
003 Testing the Estimate Logic.mp4
03:45
16 – A Basic Permissions System
-
001 Adding in Report Approval.mp4
05:58 -
003 Testing Report Approval.mp4
05:48 -
004 Authorization vs Authentication.mp4
04:17 -
005 Adding an Authorization Guard.mp4
04:35 -
006 The Guard Doesn’t Work!.mp4
02:18 -
007 Middlewares, Guards, and Interceptors.mp4
03:49 -
008 Assigning CurrentUser with a Middleware.mp4
08:15 -
009 Fixing a Type Definition Error.mp4
02:33 -
010 Validating Query String Values.mp4
07:27 -
011 Transforming Query String Data.mp4
03:48 -
012 How Will We Generate an Estimate.mp4
03:31
15 – Relations with TypeORM
-
001 Back to Reports.mp4
01:00 -
002 Adding Properties to Reports.mp4
02:52 -
003 A DTO for Report Creation.mp4
03:49 -
004 Receiving Report Creation Requests.mp4
07:07 -
005 Saving a Report with the Reports Service.mp4
04:10 -
006 Testing Report Creation.mp4
04:07 -
007 Building Associations.mp4
03:35 -
008 Types of Associations.mp4
06:39 -
009 The ManyToOne and OneToMany Decorators.mp4
05:45 -
011 More on Decorators.mp4
08:28 -
012 Setting up the Association.mp4
06:38 -
013 Formatting the Report Response.mp4
03:38 -
014 Transforming Properties with a DTO.mp4
05:04
14 – Managing App Configuration
-
001 Understanding Dotenv.mp4
05:25 -
002 Applying Dotenv for Config.mp4
06:47 -
003 Specifying the Runtime Environment.mp4
04:44 -
004 Solving a SQLite Error.mp4
02:52 -
005 It Works!.mp4
04:35 -
006 A Followup Test.mp4
05:22
13 – Integration Testing
-
001 Getting Started with End to End Testing.mp4
03:31 -
002 Creating an End to End Test.mp4
06:41 -
003 App Setup Issues in Spec Files.mp4
08:26 -
004 Applying a Globally Scoped Pipe.mp4
05:02 -
005 Applying a Globally Scoped Middleware.mp4
04:40 -
006 Solving Failures Around Repeat Test Runs.mp4
04:46 -
007 Creating Separate Test and Dev Databases.mp4
04:44
12 – Getting Started with Unit Testing
-
001 Testing Overview.mp4
04:42 -
002 Testing Setup.mp4
07:16 -
003 Yes, Testing is Confusing.mp4
06:49 -
004 Getting TypeScript to Help With Mocks.mp4
06:23 -
006 Improving File Layout.mp4
04:02 -
007 Ensuring Password Gets Hashed.mp4
05:56 -
009 Changing Mock Implementations.mp4
07:32 -
011 Testing the Signin Flow.mp4
02:02 -
013 Checking Password Comparison.mp4
08:37 -
014 More Intelligent Mocks.mp4
07:56 -
016 Refactoring to Use Intelligent Mocks.mp4
03:24 -
017 Unit Testing a Controller.mp4
06:48 -
018 More Mock Implementations.mp4
06:00 -
020 Not Super Effective Tests.mp4
08:10 -
021 Testing the Signin Method.mp4
06:28
11 – Authentication From Scratch
-
010 Signing in a User.mp4
04:47 -
020 Preventing Access with Authentication Guards.mp4
06:46 -
019 Globally Scoped Interceptors.mp4
03:52 -
018 Connecting an Interceptor to Dependency Injection.mp4
04:43 -
016 Communicating from Interceptor to Decorator.mp4
07:06 -
015 Why a Decorator and Interceptor.mp4
06:12 -
014 Custom Param Decorators.mp4
05:34 -
013 Two Automation Tools.mp4
01:56 -
012 Signing Out a User.mp4
03:46 -
011 Getting the Current User.mp4
02:01 -
001 Authentication Overview.mp4
08:21 -
009 Changing and Fetching Session Data.mp4
05:45 -
008 Setting up Sessions.mp4
06:02 -
007 Handling User Sign In.mp4
08:28 -
006 Creating a User.mp4
03:21 -
005 Salting and Hashing the Password.mp4
08:04 -
004 [Optional] Understanding Password Hashing.mp4
18:48 -
003 Implementing Signup Functionality.mp4
03:44 -
002 Reminder on Service Setup.mp4
04:15
01 – Get Started Here!
-
00:51
09 – Creating and Saving User Data
-
001 Creating and Saving a User.mp4
08:58 -
002 Quick Breather and Review.mp4
05:53 -
003 More on Create vs Save.mp4
07:36 -
005 Querying for Data.mp4
04:41 -
006 Updating Data.mp4
11:24 -
007 Removing Users.mp4
03:44 -
008 Finding and Filtering Records.mp4
05:50 -
009 Removing Records.mp4
02:51 -
010 Updating Records.mp4
06:05 -
011 A Few Notes on Exceptions.mp4
06:48
08 – Persisting Data with TypeORM
-
001 Persistent Data with Nest.mp4
02:50 -
002 Setting Up a Database Connection.mp4
07:28 -
003 Creating an Entity and Repository.mp4
07:13 -
004 Viewing a DB’s Contents.mp4
06:54 -
005 Understanding TypeORM Decorators.mp4
07:14 -
006 One Quick Note on Repositories.mp4
03:53 -
007 A Few Extra Routes.mp4
03:08 -
008 Setting Up Body Validation.mp4
07:15 -
009 Manual Route Testing.mp4
03:52
07 – Big Project Time!
-
001 App Overview.mp4
02:18 -
002 API Design.mp4
04:08 -
003 Module Design!.mp4
03:02 -
004 Generating Modules, Controllers, and Services.mp4
02:27
06 – Nest Architecture Organizing Code with Modules
-
001 Project Overview.mp4
03:06 -
002 Generating a Few Files.mp4
04:42 -
003 Setting Up DI Between Modules.mp4
05:57 -
004 More on DI Between Modules.mp4
04:39 -
005 Consuming Multiple Modules.mp4
05:19 -
006 Modules Wrapup.mp4
01:53
05 – Nest Architecture Services and Repositories
-
001 Services and Repositories.mp4
06:11 -
002 Implementing a Repository.mp4
06:38 -
003 Reading and Writing to a Storage File.mp4
04:39 -
004 Implementing a Service.mp4
05:01 -
005 Manual Testing of the Controller.mp4
07:12 -
006 Reporting Errors with Exceptions.mp4
05:26 -
007 Understanding Inversion of Control.mp4
11:17 -
008 Introduction to Dependency Injection.mp4
09:25 -
009 Refactoring to Use Dependency Injection.mp4
07:35 -
010 Few More Notes on DI.mp4
05:49
04 – Validating Request Data with Pipes
-
001 Accessing Request Data with Decorators.mp4
05:38 -
003 Using Pipes for Validation.mp4
03:02 -
004 Adding Validation Rules.mp4
07:36 -
005 Behind the Scenes of Validation.mp4
07:21 -
006 How Type Info is Preserved.mp4
06:14
03 – Generating Projects with the Nest CLI
-
001 App Setup.mp4
07:42 -
002 Using the Nest CLI to Generate Files.mp4
06:10 -
003 More on Generating Files.mp4
04:11 -
004 Adding Routing Logic.mp4
04:04 -
005 [Optional] Postman Setup.mp4
04:47 -
006 [Optional] VSCode REST Client Extension.mp4
05:11
02 – The Basics of Nest
-
04:04
-
002 TypeScript Configuration.mp4
05:36 -
003 Creating a Controller.mp4
07:03 -
004 Starting Up a Nest App.mp4
05:50 -
005 File Naming Conventions.mp4
04:35 -
006 Routing Decorators.mp4
02:47