Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learn NestJS from Scratch
Rating: 4.4 out of 5(14 ratings)
200 students

Learn NestJS from Scratch

Learn how to build efficient and scalable server-side and client-side applications with NestJS
Created byAzim Ahmed
Last updated 6/2024
English

What you'll 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

Course content

10 sections45 lectures4h 41m total length
  • Introduction1:56

    Start building a CRUD admin portal with NestJS on the back end and React on the front end, using Node.js and VS Code, covering authentication, database management, and server-side apps.

  • House Keeping2:03

    Begin with housekeeping: udemy reviews are skippable; find code samples in the GitHub repo and readme.md, and use Udemy support or Q&A with 24-hour responses; stay curious and enjoy.

  • What we will build5:12

    Learn NestJS from scratch by building a React-based CRUD app for employees, with authentication and a one-to-many recommendation system, plus an optional React admin tool.

Requirements

  • Having a basic understanding of JavaScript and/or NodeJS
  • Having basic knowledge of TypeScript is recommended, but not required
  • Having basic knowledge of React framework is recommended, but not required

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

Who this course is 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