Learn NestJS from Scratch (2024)
Learn how to build efficient and scalable server-side and client-side applications with NestJS
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