NestJs in Practice (with MongoDB)

It’s like Angular but for the backend! Build a modern REST backend with Typescript and the familiar Angular API

This Course in a Nutshell

What you’ll learn

  • Code in Github repository with downloadable ZIP files per section.
  • NestJs Deep Dive – Modules, Controllers, Services, Pipes, Middleware, Guards, etc..
  • NestJs Design Patterns – Controllers and Repositories.
  • Complete NestJs / MongoDB CRUD example.
  • Mongoose ODM (Object to Document Mapping) library.
  • Introduction to MongoDB.
  • Decorator-based Data Validation.
  • Authentication in NestJs with JSON Web Tokens (JWT).
  • NestJs RBAC Authorization (Role-Based Access Control).

Course Content

  • Introduction –> 4 lectures • 16min.
  • Introduction to the NestJs framework –> 4 lectures • 35min.
  • NestJs REST backend – CRUD Operations –> 9 lectures • 1hr.
  • NestJs Error Handling In Depth –> 5 lectures • 37min.
  • NestJs Data Validation In Depth –> 5 lectures • 28min.
  • Practice Section – Implementing the Course Screen –> 4 lectures • 24min.
  • NestJs Authentication and Authorization In Depth –> 11 lectures • 1hr 13min.
  • Conclusion –> 2 lectures • 8min.

NestJs in Practice (with MongoDB)

Requirements

This Course in a Nutshell

If you don’t know NestJs, it’s like Angular but for the backend. With it, we can write our backend using the same concepts and object-oriented APIs that we already use to structure our Angular frontend: components, services, modules, pipes, etc.

NestJs is also quite similar to popular libraries that you might already be used to, such as, for example, the Spring library in the Java ecosystem, or ASP.NET MVC for the C# ecosystem.

Course Overview

In this course, you are going to learn from scratch how to design and develop a NestJs backend that will take the form of a REST API that queries a MongoDB database using the Mongoose ODM (Object Document Mapping) library. We will be providing a complete CRUD example showing how to perform the most common REST data retrieval and data modification operations using NestJs.

No prior NestJs, MongoDB or Mongoose knowledge is assumed as we will explain everything from scratch. We will cover all the essential NestJs concepts such as Modules, Controllers and injectable services.

We will learn in detail how to validate business data using a decorator based approach (with decorators like @IsString(), @IsPhoneNumber(), etc.) by leveraging the built-in NestJs Validation pipe.

We will also implement using NestJs commonly needed backend security functionality such as User Authentication, RBAC (Role-Based Access Control) Authorization, error handling, and cover more advanced NestJs concepts such as Filters, Pipes, Guards, interceptors and middleware.

Table of Contents

This course covers the following topics:

  • Introduction to NestJs
  • Running NestJs in Hot Reload and Debug mode
  • Writing our first NestJs REST endpoint
  • NestJs Modules, Controllers and injectable Services
  • Introduction to MongoDB
  • Setting up a cloud MongoDB database
  • Introduction to the Mongoose ODM library
  • Querying MongoDB from a NestJs REST endpoint
  • Complete CRUD example with NestJs and MongoDB
  • NestJs Filters and custom error handling
  • NestJs Pipes, building a custom pipe
  • Data Validation with class-validator and the Validation pipe
  • NestJs Middleware
  • User Authentication with NestJs
  • NestJs RBAC (Role-Based Access Control) Authorization
  • NestJs Guards

What Will You Learn In this Course?

After taking this course, you will feel comfortable designing and developing applications using NestJs. You will have learned everything that you need to know in practice for designing and developing production-ready secure backends using the NestJs framework.

Get Tutorial