NestJS Masterclass - NodeJS Framework Backend Development
Nest JS with Node and TypeScript to build REST APIs Backend with TypeORM, PostgreSQL, MongoDB, testing, AWS deployment.
Nest JS with Node and TypeScript to build REST APIs Backend with TypeORM, PostgreSQL, MongoDB, testing, AWS deployment.
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.
Khu vực Câu hỏi thường gặp trống
NestJS Masterclass Introduction
Xem trướcWhat Will We Build in This Course
Xem trướcWhat is NestJS
Xem trướcSetting Up The Development Enviroment
Xem trướcInstalling NestJS CLI
Xem trướcCreating Our First NestJs Application
Xem trướcBoilerplate Code In NestJs
Xem trướcBest Learning Path For The Course
Xem trướcWhat are Modules?
Xem trướcHow NestJS Bootstraps (main.ts)
Xem trướcUnderstanding the app Module
Xem trướcCreating a New users Module
Xem trướcWhat is a REST API
Xem trướcSetting Up Postman and httpYac
Xem trướcCreating Controllers
Xem trướcWorking With Routing Decorators
Xem trướcParams, Query and Body
Xem trướcAdditional Request Components
Xem trướcProviders in NestJS
Xem trướcWhat are Pipes?
Xem trướcValidation and Transformation Needs
Xem trướcValidating Params with Built-in Pipes
Xem trướcValidating Query Params
Xem trướcIntroduction to DTO
Xem trướcCreating Our First DTO
Xem trướcConnecting DTO to Route Method
Xem trướcGlobal Pipes and Avoiding Malicious Request
Xem trướcConverting to an Instance of DTO
Xem trướcUsing DTOs with Params
Xem trướcUsing Mapped Types To Avoid Code Duplication
Xem trướcIntroduction To Inversion Of Control
Xem trướcDependency Injection In NestJS
Xem trướcCreate a users Service
Xem trướcFindall Users Method
Xem trướcFindOneById Users Method
Xem trướcPractice: Create a Posts Module
Xem trướcSolution: Create a Posts Module
Xem trướcTypes Of Dependencies
Xem trướcCreate a GET Posts Route With DTO
Xem trướcReturn Posts From Posts Service
Xem trướcUse Users Service Inside Posts Service
Xem trướcPractice: Create an Auth Module
Xem trướcSolution: Create an Auth Module
Xem trướcCircular Dependency
Xem trướcDocumentation With NestJS
Xem trướcOpen API Specification
Xem trướcEnabling Swagger in NestJS
Xem trướcAdding Configuration Methods to Swagger
Xem trướcDocumenting GET users
Xem trướcPractice: POST Endpoint and DTO For Posts Controller
Xem trướcSolution: POST Endpoint and DTO For Posts Controller
Xem trướcAdding Validations To CreatePostDto
Xem trướcWorking With Nested DTOs
Xem trướcTesting Validation
Xem trướcUsing Swagger For Documenting CreatePostDto
Xem trướcMapped Types Using Swagger
Xem trướcGetting Started With Compodoc
Xem trướcCompodoc Coverage And JSDocs
Xem trướcWorking with Databases In NestJS
Xem trướcWhat is an ORM?
Xem trướcInstalling PostgreSQL Locally
Xem trướcAdding psql to PATH
Xem trướcConnecting NestJS to PostgreSQL
Xem trướcUsing Async Configuration
Xem trướcTheoretical Understanding of the Repository Pattern
Xem trướcCreating Our First Entity - user.entity
Xem trướcExpanding Entity Definition
Xem trướcCreating First Repository
Xem trướcPractice: Creating Post Entity
Xem trướcSolution: Creating Post Entity
Xem trướcRelationships in SQL Database
Xem trướcCreating the Tags Entity
Xem trướcCreating The Meta Options Entity
Xem trướcUpdating DTO Files
Xem trướcAutoloading Entities
Xem trướcOne to One Relationships
Xem trướcUni-directional One To One Relationship
Xem trướcCreating MetaOptions Service
Xem trướcCreating Post With Relationships
Xem trướcCascade Creation with Relationships
Xem trướcQuerying with Eager Loading
Xem trướcDeleting Related Entities
Xem trướcBi-Directional One To One Relationship
Xem trướcCreating A Bi-Directional Relationship
Xem trướcCascade Delete With Bi-Directional Relationship
Xem trướcOne To Many Relationships
Xem trướcCreating One To Many Relationship
Xem trướcCreate Post With Author
Xem trướcEager Loading Author
Xem trướcMany To Many Relationships
Xem trướcPractice: Service To Create Tags
Xem trướcSolution: TagsService
Xem trướcTesting Tags Service
Xem trướcUni-Directional Many To Many Relationship
Xem trướcQuerying Many To Many Relationship
Xem trướcUpdating Post With New Tags
Xem trướcDeleting Post and Relationship
Xem trướcBi-Directional Many To Many Relationship
Xem trướcCascade Delete With Many To Many
Xem trướcSoft Delete Tags
Xem trướcIntroduction To Environments
Xem trướcInstalling Config Module
Xem trướcUsing Config Service
Xem trướcConfirming NODE_ENV While Testing
Xem trướcConditionally Loading Environments
Xem trướcInject Database Details
Xem trướcCustom configuration Files
Xem trướcConfig Files With Namespaces
Xem trướcModule Configuration and Partial Registration
Xem trướcValidating Environment Variables
Xem trướcIntroduction To Exception Handling
Xem trướcBuilt-in Http Exceptions
Xem trướcIdentifying Points of Failure
Xem trướcException Handling Model Constraints
Xem trướcCreate User Exception Handling
Xem trướcThrow a Custom Exception
Xem trướcPractice: Exception Handling Post Update
Xem trướcSolution: Exception Handling Post Update
Xem trướcUnderstanding Transactions
Xem trướcTypeORM QueryRunner
Xem trướcCreating First Transaction
Xem trướcWhy Create Post Is Not a Transaction
Xem trướcCreating Multiple Providers
Xem trướcUpdating The DTO
Xem trướcPractice: Handle Exceptions For CreateManyUsers
Xem trướcSolution: Handle Exceptions For CreateManyUsers
Xem trướcIntroduction To Authentication
Xem trướcHashing And Salting Passwords
Xem trướcCreate Hashing Providers
Xem trướcImplementing Hashing Provider
Xem trướcUser Signup
Xem trướcUser SignIn Controller
Xem trướcCompleting the signIn Method
Xem trướcCustom Response Code
Xem trướcUnderstanding JWTs
Xem trướcAdding JWT Configuration
Xem trướcGenerating JWT
Xem trướcJWT Token Signatures
Xem trướcIntroducing Guards
Xem trướcCreating AccessTokenGuard
Xem trướcCompleting AccessTokenGuard Implementation
Xem trướcTesting the AccessTokenGuard
Xem trướcApplying AccessTokenGuard Globally
Xem trướcPractice: Validations For JWT env Variables
Xem trướcSolution: Validations For JWT env Variables
Xem trướcWhat Are Decorators
Xem trướcOur First Decorator
Xem trướcAuthentication Guard Strategy
Xem trướcCreate AuthenticationGuard
Xem trướcAuthenticationGuard Implemenation
Xem trướcUnderstanding User Payload
Xem trướcCreate Active User Decorator
Xem trướcPractice: Refactor createPostDto
Xem trướcSolution: Refactor createPostDto
Xem trướcGoogle Authentication Strategy
Xem trướcCreate Google Project
Xem trướcSetting The Configuration
Xem trướcInitialize Google Auth Client
Xem trướcImplementation Strategy Google Authentication
Xem trướcImplement Authentication With Google Token
Xem trướcReact App In Front-End
Xem trướcCreateGoogleUser Method
Xem trướcComplete Google Authentication
Xem trướcTesting Google Authentication
Xem trướcIntroduction To Testing
Xem trướcTest Settings
Xem trướcUnderstanding Unit Tests
Xem trướcTesting UsersService
Xem trướcMocking Providers
Xem trướcTesting Service Method
Xem trướcNew Spec File For CreateUserProvider
Xem trướcMocking Repositories
Xem trướcMocking Other Providers
Xem trướcUsing Mock Repository To Test
Xem trướcRunning Tests
Xem trướcWhat Is End To End Testing
Xem trướcTest Database And Configuration
Xem trướcEncapsulate App Creation Logic
Xem trướcCreating First E2E Test
Xem trướcCompleting App Loading Lifecycle
Xem trướcEncapsulate Application Bootstrap
Xem trướcIntroduction To SuperTest
Xem trướcIntroduction To Faker
Xem trướcTesting Validations
Xem trướcCompleting All Test Cases
Xem trướcIntroduction To MongoDB With Mongoose
Xem trướcCreating MongoDB Account
Xem trướcMongoDB Configuration
Xem trướcFirst Schema - User
Xem trướcPost Schema
Xem trướcCreate Using Model
Xem trướcMongoose Sub Documents
Xem trướcSingle Sub Document
Xem trướcPractice: Tags Module
Xem trướcSolution: Tags Module
Xem trướcPractice: Tags Service + Controller
Xem trướcSolution: Tags Service + Controller
Xem trướcArray Of Sub Documents
Xem trướcQuerying Sub Documents
Xem trướcDeployment Strategy
Xem trướcCreating An EC2 Instance
Xem trướcInstalling Node, NPM and GIT
Xem trướcInstalling PostgreSQL
Xem trướcInstalling and Configuring NGINX
Xem trướcGit Clone And Install
Xem trướcCreate The .env file
Xem trướcUnderstanding Migrations
Xem trướcCreating and Running Migrations
Xem trướcTesting Migration On EC2
Xem trướcRunning with PM2
Xem trướcHaving Basic Understanding of TypeScript and/or JavaScript.
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