Course Overview
NestJS is a Node.js framework for building efficient, reliable, scalable server-side applications. Its structure is opinionated and draws inspiration from Angular. Nest has gained popularity; more than 3 million downloads on NPM weekly.
While I was learning NestJS, the learning curve was very steep. I wished there was a detailed and well-structured course that would make my learning path easy. That's why I came up with this course: so that other developers who are trying to learn NestJS do not have to go through such a steep learning curve.
I can assure you that the "NestJS Masterclass" is the most detailed, extensive, well-structured, and in-depth course in the marketplace—period! - There is no other course like NestJS Masterclass, Guaranteed!
NestJS Masterclass is a Practical Course! We work together to build a REST API server-side application for a blog. We learn while we code this application, so all the examples in this course are real-world use cases. While programming this application, we will learn various NestJS features and dive deeper into the internal mechanics of NestJS.
Well-designed and Structured Curriculum
While designing the curriculum of the NestJS masterclass, I have spent a lot of time and effort thinking and ensuring that this makes learning NestJS easy for my students. Here is a partial list of topics covered in the NestJS Masterclass and what you can expect to learn from each section. Refer to the curriculum section for a detailed list of all topics covered.
Understanding Modules: I introduce you to NestJS modules, how they work, the internal mechanics of how they are linked to each other, and various schematics that are used with modules, including services and providers.
Validation And Pipes: This is a crucial section that explains how you can leverage packages like class validator and Pipes in NestJS to validate the incoming data to your application.
Dependency Injection: Dependency injection is the backbone of the NestJS framework. We dive deeper into how it works and how to leverage it to ensure that your application remains modular. We work on all possible dependencies, including circular ones between modules.
Documenting Code: We learn about NestJS's features, which let you document the API endpoints using Open API Specification and your application's source code using Compodoc.
TypeORM and Relational Databases: TypeORM has a close integration with NestJS. We use PostgreSQL in the REST API application we build and learn how to leverage all features of TypeORM while building a real-world application.
Database Relations: This section teaches you about relationships in SQL databases and how to use TypeORM to set them. This includes one-to-one, one-to-many, and many-to-many relationships. It is a detailed and well-designed section that eliminates all misconceptions about database connections.
Configuration Environments In NestJS: Applications often run in different environments. Depending on the environment, different configuration settings should be used. NestJS has a well-designed system for managing configurations.
Exception Handling: Elegantly handling exceptions within an application is crucial, as it improves the experience of developers and application users. We look at features NestJS provides that help us handle exceptions within an application.
Database Transactions: Database transactions are important when you want to perform CRUD operations, which impact multiple entities simultaneously and are interdependent. We dive deeper into TypeORM transactions to see how they can be used with NestJS.
User Authentication with JSON Web Tokens: We work on building a user authentication system using JWTs and learn the mechanics behind a secure and well-designed System.
Guards and Decorators: Guards and Decorators are a few of the important schematics offered by NestJS. We use Guards to filter out unauthorized requests and decorators to set meta-data and attach payloads to incoming requests.
Google Authentication: Modern applications are interconnected and usually offer an easy signup process using services like Google OAuth. We use Google Authentication along with the JWTs Authentication service we create for the NestJS application we build.
File Uploads: Most applications need a file upload mechanism for users to upload files to the server and use them later. We learn about NestJS Interceptors and how they can be used to upload files to NestJS.
Unit and End-to-End Testing: NestJS has been developed to keep the code you write modular so you can test it quickly. To live up to this practice, I have created dedicated modules for unit testing and end-to-end testing in NestJS for this course.
Mongoose and MongoDB: Many times, you need to use NoSQL databases like MongoDB with the NestJS application. We do exactly that in this section. So, no matter which database you want to use, NestJS Masterclass is a perfect fit.
Deployment to AWS: We examine all the intrinsic details of deploying a production application to AWS. We also explore using CloudFront CDN and S3 buckets to upload and serve media files for our application.
And lots more ...
Who am I?
I will give a quick introduction about myself I am Manik and I am a full stack developer and working as one since last fifteen years of my life.
Why did I choose to teach NestJS?
NestJS is a robust framework that is very close to my heart. For the last four years, I have been working on It. I have developed and maintained an application using NestJS, which has more than One Million Hits daily. I had a tough time learning NestJS due to the lack of tutorials, and that's why I decided to make this course so that I can teach what I have learned throughout all my years working with NestJS.
FAQ
FAQ area empty
Course curriculum
-
NestJS Masterclass Introduction
Xem trước -
What Will We Build in This Course
Xem trước -
What is NestJS
Xem trước -
Setting Up The Development Enviroment
Xem trước -
Installing NestJS CLI
Xem trước -
Creating Our First NestJs Application
Xem trước -
Boilerplate Code In NestJs
Xem trước -
Best Learning Path For The Course
Xem trước
-
What are Modules?
Xem trước -
How NestJS Bootstraps (main.ts)
Xem trước -
Understanding the app Module
Xem trước -
Creating a New users Module
Xem trước -
What is a REST API
Xem trước -
Setting Up Postman and httpYac
Xem trước -
Creating Controllers
Xem trước -
Working With Routing Decorators
Xem trước -
Params, Query and Body
Xem trước -
Additional Request Components
Xem trước -
Providers in NestJS
Xem trước
-
What are Pipes?
Xem trước -
Validation and Transformation Needs
Xem trước -
Validating Params with Built-in Pipes
Xem trước -
Validating Query Params
Xem trước -
Introduction to DTO
Xem trước -
Creating Our First DTO
Xem trước -
Connecting DTO to Route Method
Xem trước -
Global Pipes and Avoiding Malicious Request
Xem trước -
Converting to an Instance of DTO
Xem trước -
Using DTOs with Params
Xem trước -
Using Mapped Types To Avoid Code Duplication
Xem trước
-
Introduction To Inversion Of Control
Xem trước -
Dependency Injection In NestJS
Xem trước -
Create a users Service
Xem trước -
Findall Users Method
Xem trước -
FindOneById Users Method
Xem trước -
Practice: Create a Posts Module
Xem trước -
Solution: Create a Posts Module
Xem trước -
Types Of Dependencies
Xem trước -
Create a GET Posts Route With DTO
Xem trước -
Return Posts From Posts Service
Xem trước -
Use Users Service Inside Posts Service
Xem trước -
Practice: Create an Auth Module
Xem trước -
Solution: Create an Auth Module
Xem trước -
Circular Dependency
Xem trước
-
Documentation With NestJS
Xem trước -
Open API Specification
Xem trước -
Enabling Swagger in NestJS
Xem trước -
Adding Configuration Methods to Swagger
Xem trước -
Documenting GET users
Xem trước -
Practice: POST Endpoint and DTO For Posts Controller
Xem trước -
Solution: POST Endpoint and DTO For Posts Controller
Xem trước -
Adding Validations To CreatePostDto
Xem trước -
Working With Nested DTOs
Xem trước -
Testing Validation
Xem trước -
Using Swagger For Documenting CreatePostDto
Xem trước -
Mapped Types Using Swagger
Xem trước -
Getting Started With Compodoc
Xem trước -
Compodoc Coverage And JSDocs
Xem trước
-
Working with Databases In NestJS
Xem trước -
What is an ORM?
Xem trước -
Installing PostgreSQL Locally
Xem trước -
Adding psql to PATH
Xem trước -
Connecting NestJS to PostgreSQL
Xem trước -
Using Async Configuration
Xem trước -
Theoretical Understanding of the Repository Pattern
Xem trước -
Creating Our First Entity - user.entity
Xem trước -
Expanding Entity Definition
Xem trước -
Creating First Repository
Xem trước -
Practice: Creating Post Entity
Xem trước -
Solution: Creating Post Entity
Xem trước
-
Relationships in SQL Database
Xem trước -
Creating the Tags Entity
Xem trước -
Creating The Meta Options Entity
Xem trước -
Updating DTO Files
Xem trước -
Autoloading Entities
Xem trước -
One to One Relationships
Xem trước -
Uni-directional One To One Relationship
Xem trước -
Creating MetaOptions Service
Xem trước -
Creating Post With Relationships
Xem trước -
Cascade Creation with Relationships
Xem trước -
Querying with Eager Loading
Xem trước -
Deleting Related Entities
Xem trước -
Bi-Directional One To One Relationship
Xem trước -
Creating A Bi-Directional Relationship
Xem trước -
Cascade Delete With Bi-Directional Relationship
Xem trước -
One To Many Relationships
Xem trước -
Creating One To Many Relationship
Xem trước -
Create Post With Author
Xem trước -
Eager Loading Author
Xem trước -
Many To Many Relationships
Xem trước -
Practice: Service To Create Tags
Xem trước -
Solution: TagsService
Xem trước -
Testing Tags Service
Xem trước -
Uni-Directional Many To Many Relationship
Xem trước -
Querying Many To Many Relationship
Xem trước -
Updating Post With New Tags
Xem trước -
Deleting Post and Relationship
Xem trước -
Bi-Directional Many To Many Relationship
Xem trước -
Cascade Delete With Many To Many
Xem trước -
Soft Delete Tags
Xem trước
-
Introduction To Environments
Xem trước -
Installing Config Module
Xem trước -
Using Config Service
Xem trước -
Confirming NODE_ENV While Testing
Xem trước -
Conditionally Loading Environments
Xem trước -
Inject Database Details
Xem trước -
Custom configuration Files
Xem trước -
Config Files With Namespaces
Xem trước -
Module Configuration and Partial Registration
Xem trước -
Validating Environment Variables
Xem trước
-
Introduction To Exception Handling
Xem trước -
Built-in Http Exceptions
Xem trước -
Identifying Points of Failure
Xem trước -
Exception Handling Model Constraints
Xem trước -
Create User Exception Handling
Xem trước -
Throw a Custom Exception
Xem trước -
Practice: Exception Handling Post Update
Xem trước -
Solution: Exception Handling Post Update
Xem trước
-
Understanding Transactions
Xem trước -
TypeORM QueryRunner
Xem trước -
Creating First Transaction
Xem trước -
Why Create Post Is Not a Transaction
Xem trước -
Creating Multiple Providers
Xem trước -
Updating The DTO
Xem trước -
Practice: Handle Exceptions For CreateManyUsers
Xem trước -
Solution: Handle Exceptions For CreateManyUsers
Xem trước
-
Introduction To Authentication
Xem trước -
Hashing And Salting Passwords
Xem trước -
Create Hashing Providers
Xem trước -
Implementing Hashing Provider
Xem trước -
User Signup
Xem trước -
User SignIn Controller
Xem trước -
Completing the signIn Method
Xem trước -
Custom Response Code
Xem trước -
Understanding JWTs
Xem trước -
Adding JWT Configuration
Xem trước -
Generating JWT
Xem trước -
JWT Token Signatures
Xem trước
-
Introducing Guards
Xem trước -
Creating AccessTokenGuard
Xem trước -
Completing AccessTokenGuard Implementation
Xem trước -
Testing the AccessTokenGuard
Xem trước -
Applying AccessTokenGuard Globally
Xem trước -
Practice: Validations For JWT env Variables
Xem trước -
Solution: Validations For JWT env Variables
Xem trước -
What Are Decorators
Xem trước -
Our First Decorator
Xem trước -
Authentication Guard Strategy
Xem trước -
Create AuthenticationGuard
Xem trước -
AuthenticationGuard Implemenation
Xem trước -
Understanding User Payload
Xem trước -
Create Active User Decorator
Xem trước -
Practice: Refactor createPostDto
Xem trước -
Solution: Refactor createPostDto
Xem trước
-
Google Authentication Strategy
Xem trước -
Create Google Project
Xem trước -
Setting The Configuration
Xem trước -
Initialize Google Auth Client
Xem trước -
Implementation Strategy Google Authentication
Xem trước -
Implement Authentication With Google Token
Xem trước -
React App In Front-End
Xem trước -
CreateGoogleUser Method
Xem trước -
Complete Google Authentication
Xem trước -
Testing Google Authentication
Xem trước
-
Introduction To Testing
Xem trước -
Test Settings
Xem trước -
Understanding Unit Tests
Xem trước -
Testing UsersService
Xem trước -
Mocking Providers
Xem trước -
Testing Service Method
Xem trước -
New Spec File For CreateUserProvider
Xem trước -
Mocking Repositories
Xem trước -
Mocking Other Providers
Xem trước -
Using Mock Repository To Test
Xem trước -
Running Tests
Xem trước
-
What Is End To End Testing
Xem trước -
Test Database And Configuration
Xem trước -
Encapsulate App Creation Logic
Xem trước -
Creating First E2E Test
Xem trước -
Completing App Loading Lifecycle
Xem trước -
Encapsulate Application Bootstrap
Xem trước -
Introduction To SuperTest
Xem trước -
Introduction To Faker
Xem trước -
Testing Validations
Xem trước -
Completing All Test Cases
Xem trước
-
Introduction To MongoDB With Mongoose
Xem trước -
Creating MongoDB Account
Xem trước -
MongoDB Configuration
Xem trước -
First Schema - User
Xem trước -
Post Schema
Xem trước -
Create Using Model
Xem trước -
Mongoose Sub Documents
Xem trước -
Single Sub Document
Xem trước -
Practice: Tags Module
Xem trước -
Solution: Tags Module
Xem trước -
Practice: Tags Service + Controller
Xem trước -
Solution: Tags Service + Controller
Xem trước -
Array Of Sub Documents
Xem trước -
Querying Sub Documents
Xem trước
-
Deployment Strategy
Xem trước -
Creating An EC2 Instance
Xem trước -
Installing Node, NPM and GIT
Xem trước -
Installing PostgreSQL
Xem trước -
Installing and Configuring NGINX
Xem trước -
Git Clone And Install
Xem trước -
Create The .env file
Xem trước -
Understanding Migrations
Xem trước -
Creating and Running Migrations
Xem trước -
Testing Migration On EC2
Xem trước -
Running with PM2
Xem trước
Requirment
-
Having Basic Understanding of TypeScript and/or JavaScript.
Outcomes
-
Learn all the Schematics of a NestJS application. Become Familiar With NestJS Framework and all its components.
-
User Authentication using JSON Web Tokens and Google Authentication. Includes refresh tokens and security best practices.
-
Deploy the production application to AWS cloud with Cloudfront and S3 for media files.
-
Learn NestJS dependency injection in detail and understand the mechanics behind in.
-
Work With TypeORM and PostgreSQL. Deep dive into database relations, transactions, migrations and querying with TypeORM.
-
Request data validation using pipes in NestJS and Serialization of response data using Interceptors.
-
Deep dive into NestJS Guards to filter out requests and custom Decorators to add meta data modify request payload
-
Detailed and in-depth coverage of Environments and Configuration in a NestJS application with validation of Environment Variables.
-
Document the REST API endpoints with Open API Specifications and Swagger.
-
Using Compodoc for documenting the code and keeping the codebase organised for large teams.
-
Leverage testing in NestJS by writing Unit Test as well as End To End test for your application.
-
Use MongoDb along with Mongoose to create data schema and save date in MongoDB using NestJS.
-
Learn How to upload files using NestJS and save media files on Amazon S3 to serve using Cloudfront CDN
-
Understand complete NestJS request and response lifecycle along with the role of each schematics.
-
Learn how to design and develop REST APIs using industry standards and best practices
2 Students
16 Courses
0 review