
Explore NestJS setup and project structure, from installing the CLI and creating a new project to running in dev mode, and understand the src folder, controllers, and hello world.
Create a NestJS controller with a class and @Controller decorator to handle requests, route URLs, and return responses, such as a get endpoint for /products.
Build a post module in NestJS by creating the post controller, service, and module, export the module, and import it into the app module to connect backend components.
Explore how NestJS handles errors using exception filters, throwing built-in http exceptions (BadRequestException, ForbiddenException, UnauthorizedException) and custom exceptions, and how to test responses for correct status codes.
Explore how NestJS pipes are injectable classes that implement PipeTransform to transform inputs, like strings to numbers, and validate parameters with ParseIntPipe.
Explore NestJS interceptors as dependency injection components and aspect oriented programming, see how they run before and after method execution, and compare them with middleware using UseInterceptor at controller level.
Learn to create a NestJS project with a simple blog post API using MongoDB in the first of two course projects, and preview a SQL-based second project.
Learn to handle post requests in NestJS using the @Body decorator to pass a request body with title and description, inspect it with console.log, and map to a post document.
Create a getOne endpoint in NestJS using @Param to pass the id, query MongoDB with findOne({_id: id}), and handle not found with NotFoundException.
Demonstrates implementing the update action in NestJS by exposing a @Put endpoint with id and body, using UpdatePostDTO, and updating a post via service methods, contrasting with patch.
Install and configure Swagger UI in a NestJS project, customize the API description and tags, expose docs at a flexible URL, and document endpoints via basic controllers.
Understand the NestJS request lifecycle, from middleware through guards, pipes, and interceptors to the final response, including global, controller, and method level scopes.
Learn migrations and schema synchronization with TypeORM in NestJS, why enable in development vs production, and how to inject a user repository and create a user via api.
Implement sign-in flow in a NestJS backend by locating users by email, comparing passwords with hashing, and issuing an access token, while handling credential errors to avoid exposing sensitive data.
Explore building a role module to enforce authorization in NestJS by modeling roles as a dedicated entity and linking them to users via a one-to-many relationship, with per-role permissions.
Learn to prevent removing roles by using a soft delete approach: add an is active boolean and update the role to deactivate it while preserving user permissions.
Explore how permissions work in a NestJS backend, linking roles, users, and endpoints with a many-to-many model, and grant specific endpoint access through a permission table.
Create an endpoint module for a board resource in NestJS, define an entity with id, url, and methods, and expose patch and list REST API operations.
Illustrates a transaction as a unit of work for a sequence of database steps, using a data source and query runner to start, commit, rollback, and finally release.
Learn the permission module by creating the permission intermediary table, establishing a many-to-many between row and invoice, and ensuring admin access to the endpoint via the rest api.
Add all permissions to the database by iterating routes, retrieving rows, and inserting permission records within a transactional workflow using the repository pattern.
Implement the allow permission flow in the permissions service by validating inputs, updating permission state, and saving changes to grant access by row name.
Implement slug handling in TypeORM through a hook by creating categories, generating and persisting slugs, and ensuring repository updates trigger the hook execution.
Upgrade your response dto by returning a structured object with message and category, exploring short form responses and file method variations in a NestJS backend workflow.
Learn how to use TypeORM built-in soft remove to replace isActive with a release date, call softRemove, and understand how deletion affects filtering and data retrieval.
Define a product entity with id, name, price, quantity, slot, and description. Establish one-to-many relation where category has many products and a product belongs to a category, via REST API.
Learn to design a product response dto with pagination in NestJS, handling data with meta and links, conditionally returning data, and including total items, pages, and navigation links.
Learn to upload files in a NestJS backend using form data, the upload file decorator, and image validations for size and type, including png and jpg formats.
Learn how to implement a product gallery block and upload multiple images using read file and multiple file blocks. Wire file inputs and test multi-file uploads.
NestJS is a powerful and rapidly growing framework that enables developers to build scalable and efficient applications with ease. In this course, you'll learn how to harness the full potential of NestJS to create robust backend systems.
In this course, you're not just going to learn NestJS; you'll also master the essential skills of learning new technologies. Forget fancy slideshows and fluff—this course is all about diving deep into the core material, directly from official resources. I believe in the power of real, hands-on learning, and instead of simply repeating what's already out there, we will focus on practical application.
Why do I say "you don’t just learn NestJS"? Because in this course, I’m going to show you how to research, troubleshoot, and read documentation effectively—skills every developer needs to thrive. These aren’t just technical abilities; they are life skills for problem-solving and continuous learning, which are crucial to keep up with ever-evolving technology.
Upon completing this course, you won’t just be proficient in NestJS. You’ll have developed the confidence and methodology to pick up any framework, language, or tool you wish to learn. This course will teach you how to avoid the trap of “tutorial hell”—that frustrating cycle where you rely too much on step-by-step guides without gaining true understanding. You’ll learn how to think independently, explore documentation, and solve problems—transforming you into a self-sufficient developer, ready to tackle any challenge that comes your way.
What will you learn in this course?
Core NestJS Concepts: We’ll start by building a solid foundation of NestJS, diving into the framework’s core features and best practices for building maintainable applications.
Building a Small Application with MongoDB: Once you're familiar with the basics, we'll work on a hands-on project using MongoDB to help reinforce your understanding of NestJS and how to apply it in real-world scenarios.
Developing a Large-Scale Application with SQL and TypeORM: Finally, we’ll scale things up by developing a large and complex application using SQL and TypeORM, integrating advanced concepts like authentication, real-time communication, and more.