Learn NestJS from Scratch (2024)

Learn how to build efficient and scalable server-side and client-side applications with NestJS

Ratings: 4.21 / 5.00




Description

Nest (NestJS) is a framework for building efficient, scalable  Node.js server-side applications. It uses progressive JavaScript, is built with and fully supports  TypeScript (yet still enables developers to code in pure JavaScript), and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).

Under the hood, Nest makes use of robust HTTP Server frameworks like  Express (the default) and optionally can be configured to use  Fastify as well!

Nest provides a level of abstraction above these common Node.js frameworks (Express/Fastify), but also exposes their APIs directly to the developer. This gives developers the freedom to use the myriad of third-party modules which are available for the underlying platform.


Philosophy


In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front and backend applications. This has given rise to awesome projects like  Angular,  React, and  Vue, which improve developer productivity and enable the creation of fast, testable, and extensible front-end applications. However, while plenty of superb libraries, helpers, and tools exist for Node (and server-side JavaScript), none of them effectively solve the main problem of - Architecture.

Nest provides an out-of-the-box application architecture that allows developers and teams to create highly testable, scalable, loosely coupled, and easily maintainable applications. The architecture is heavily inspired by Angular.


What you’ll learn


  • Becoming familiar with the NestJS framework and its components

  • Designing and developing REST APIs performing CRUD operations

  • Authentication and Authorization for back-end applications

  • Using Typeform for database interaction

  • Security best practices, password hashing, and storing sensitive information

  • Persisting data using a database

  • Writing clean, maintainable code in line with industry standards

  • Utilizing the NestJS Command Line Interface (CLI)

  • Using Swagger for testing back-end services

  • Implement efficient logging in a back-end application

  • Environment-based configuration management and environment variables

  • Implementing data validation and using Pipes

  • Guarding endpoints for authorized users using Guards

  • Modeling entities for the persistence layer

  • TypeScript best practices

  • Handling asynchronous operations using async-await

  • Using Data Transfer Objects (DTO)

  • Hands-on experience with JSON Web Tokens (JWT)

  • Unit testing NestJS applications

  • Create admin portal with basic crud operations using React admin framework

  • Create CRUD endpoints using NestJSX Crud library


What you should know


  • Having a basic understanding of JavaScript and/or NodeJS

  • Having a basic knowledge of TypeScript is recommended, but not required


Who is this course if for


  • Intermediate JavaScript developers who want to dive into back-end development

  • Any developers willing to apply TypeScript on the back-end

  • Developers eager to learn how to develop performant, secure, and production-ready REST APIs following best practices

  • Developers who want to follow building a practical, real-world application from zero to production

  • Front-end developers who want to move to the back-end development

What You Will Learn!

  • Becoming familiar with the NestJS framework and its components
  • Designing and developing REST APIs performing CRUD operations
  • Using TypeORM for database interaction
  • Authentication and Authorization for back-end applications
  • Security best practices, password hashing and storing sensitive information
  • Persisting data using a database
  • Writing clean, maintainable code in-line with industry standards
  • Utilizing the NestJS Command Line Interface (CLI)
  • Using Swagger for testing back-end services
  • Implement efficient logging in a back-end application
  • Environment-based configuration management and environment variables
  • Implementing data validation and using Pipes
  • Guarding endpoints for authorized users using Guards
  • Modelling entities for the persistence layer
  • TypeScript best practices
  • Handling asynchronous operations using async-await
  • Using Data Transfer Objects (DTO)
  • Hands-on experience with JSON Web Tokens (JWT)
  • Unit testing NestJS applications

Who Should Attend!

  • Intermediate JavaScript developers who want to dive into back-end development
  • Any developers willing to apply TypeScript on the back-end
  • Developers eager to learn how to develop performant, secure and production-ready REST APIs following best practices
  • Developers who want to follow building a practical, real-world application from zero to production
  • Front-end developers who want to move to the back-end development