We may earn an affiliate commission when you visit our partners.
Course image
Ariel Weinberger

NestJS is a Node.js back-end development framework built upon Express, leveraging the power of TypeScript.

Read more

NestJS is a Node.js back-end development framework built upon Express, leveraging the power of TypeScript.

NestJS leverages the incredible popularity and robustness of JavaScript as a language and Node.js as a technology. It is inspired by common libraries and frameworks such as Angular, React and Vue which improve developer productivity and experience.

Even considering the amount of superb libraries, helpers and tools that exist for server-side Node.js, none of them effectively solve the main problem - the architecture of an application.

NestJS provides an out-of-the-box application architecture which allows developers and teams to create highly testable, scalable, loosely coupled and easily maintainable applications.

Recently, the NestJS framework is gaining extreme popularity due to its incredible features;

  • Leverages TypeScript - strongly typed language which is a super-set of JavaScript

  • Simple to use, easy to learn and easy to master

  • Powerful Command Line Interface (CLI) tool that boosts productivity and ease of development

  • Detailed, well-maintained documentation

  • Active codebase development and maintenance

  • Open-source (MIT license)

  • Supports dozens nest-specific modules that help you easily integrate with common technologies and concepts such as TypeORM, Mongoose, GraphQL, Logging, Validation, Caching, Websockets and much more

  • Easy of unit-testing applications

  • Made for Monoliths and Micro-services (entire section in the documentation regarding the Microservice type of a NestJS application, as well as techniques and recipes).

In this course I am going to guide you through the process of planning, developing and deploying a fully-featured back-end application, based on my experience developing and maintaining systems that support dozens of millions of concurrent users at scale.

Enroll now

What's inside

Learning objectives

  • 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 typeorm for database interaction
  • Security best practices, password hashing and storing sensitive information
  • Persisting data using a database
  • Deploying back-end applications at a production-ready state to amazon web services
  • Writing clean, maintainable code in-line with industry standards
  • Utilising the nestjs command line interface (cli)
  • Using postman for testing back-end services
  • Using pgadmin as an interface tool to manage postgresql databases
  • 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
  • Using graphql with nestjs
  • Database persistence with mongodb
  • Show more
  • Show less

Syllabus

Become familiar with the NestJS Framework and install pre-requisites
Welcome to the course!
Installing Node.js and Yarn
Installing the NestJS CLI
Read more
(Optional) Installing VSCode and Extensions
Develop a Task Management REST API with NestJS
Project Overview
Creating our project via the NestJS CLI
NestJS Project Structure
Introduction to NestJS Modules
More Valuable Content
Creating a Tasks Module
Introduction to NestJS Controllers
Creating at Tasks Controller
Introduction to NestJS Providers and Services
Creating a Tasks Service
Feature: Getting All Tasks
Installing Postman
Creating a Postman Collection
Defining a Task Model
Feature: Creating a Task (Part 1 - Controller)
Feature: Creating a Task (Part 2 - Service)
Intro to Data Transfer Objects (DTO)
Implementing CreateTaskDto
Feature: Getting a Task by ID
Challenge: Deleting a Task
Solution: Deleting a Task
Challenge: Update Task Status
Solution: Update Task Status
Feature: Searching and Filtering
Summary Quiz
Section Code
Learn how to apply validation and error handling in NestJS
Introduction to NestJS Pipes
ValidationPipe: Creating a Task
Error Handling: Getting a non-existing Task
Error Handling: Deleting a non-existing Task
Validation: Update Task Status
Challenge: Validating Task Filtering and Search
Persist data using TypeORM and PostgreSQL
Introduction to Persistence
Installing Docker and pgAdmin
Running PostgreSQL via Docker
Setting up pgAdmin
Creating a Database using pgAdmin
Introduction to TypeORM
Setting up a Database Connection
Creating a Task Entity
Active Record VS Data Mapper Patterns
Creating a Tasks Repository
Refactoring for Tasks Service
Persistence: Getting a Task by ID
Persistence: Creating a Task
(Challenge) Persistence: Deleting a Task
(Solution) Persistence: Deleting a Task
Persistence: Update Task Status
Small Change Needed
Persistence: Getting All Tasks
Implement authentication and authorization in a NestJS project, using JSON Web Tokens and Passport
Intro to Authentication and Authorization
Setting up AuthModule, User Entity and User Repository
Feature: Signing Up
Validation: Credentials and Password Strength
Error Handling: Username Conflicts
Securely Storing Passwords
Password Hashing With Bcrypt
Feature: Signing In
Intro to JSON Web Tokens (JWT)
Setting up the JWT Module and Passport.js
Signing a JWT Token on Sign In (Authentication)
Implementing JWT Validation
Custom @GetUser Decorator
Guarding the Tasks Routes
Implement user-based restrictions based on authorization and JSON Web Tokens
Tasks and Users - Database Relation
Make Users Own Tasks
Serialize User Data
Restricting Getting All Tasks
BUG FIX: Getting All Tasks
Restricting Getting a Task By ID
Restricting Status Updates
Restricting Deleting A Task
THANK YOU!
THANK YOU! (+ Promotion)
Achieve observability in your back-end application by implementing Logging
Introduction to Logging
Implementing Logs in our NestJS app
Easily and securely manage configuration for your back-end applications
Introduction to Configuration
Windows: Environment Variables
Quick Intro to Environment Variables
Setting up ConfigModule
TypeORM Configuration
Config Schema Validation
JWT Secret Configuration

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches TypeScript and Node.js, which are standard in software engineering
Introduces modern concepts and frameworks, which can lead to career growth
Involves hands-on practice with industry-standard tools
Provides a comprehensive overview of NestJS, which is essential for using the framework effectively
Covers essential skills for backend development, such as REST APIs, authentication, and database persistence
Taught by an experienced instructor, who brings industry knowledge and practical examples to the learning experience

Save this course

Save NestJS Zero to Hero - Modern TypeScript Back-end Development to your list so you can find it easily later:
Save

Reviews summary

Typescript back-end development course

According to students, this course about TypeScript back-end development goes above and beyond in describing how the framework works and some core software engineering principles. The section on unit testing is also stellar and is a hidden gem in this tutorial series.
Explains core software engineering principles.
"Goes above and beyond in not only showing how the framework works, but also describing some core software engineering principles."
Stellar unit testing section.
"The section on unit testing is also stellar and is a hidden gem in this tutorial series."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in NestJS Zero to Hero - Modern TypeScript Back-end Development with these activities:
Review Object-Oriented Analysis and Design
Review core terms, principles, and practices of object-oriented design and design patterns to strengthen your foundation.
Show steps
  • Read through chapters 1-5 in the book.
  • Summarize key concepts and principles.
  • Identify and define key design patterns.
  • Apply these principles and patterns to your own code.
Attend NestJS Community Meetups
Connect with other NestJS developers, learn about new features, and share knowledge through participation in online or in-person meetups.
Show steps
  • Find local or virtual NestJS meetups.
  • Attend meetups and engage in discussions.
  • Network with attendees and share experiences.
Join a NestJS Study Group
Strengthen your knowledge and collaborate with peers through a NestJS study group, discussing concepts, sharing code, and providing support.
Show steps
  • Find or start a NestJS study group.
  • Meet regularly to discuss concepts and solve problems.
  • Share code and knowledge with your group.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow Tutorials on NestJS Authentication
Expand your knowledge of NestJS authentication by following step-by-step tutorials, implementing JWT or other authentication mechanisms.
Show steps
  • Find reputable tutorials on NestJS authentication.
  • Set up the tutorial project and follow the instructions.
  • Implement the authentication mechanisms in your own projects.
Compile a List of NestJS Resources
Enhance your knowledge base by compiling a comprehensive list of NestJS resources, including documentation, tutorials, and community forums.
Show steps
  • Search and gather relevant resources.
  • Categorize and organize the resources.
  • Share your compilation with the community.
Build a Basic REST API Using NestJS
Create a simple RESTful API to solidify your understanding of Nest.js's capabilities and gain practical hands-on experience.
Show steps
  • Set up a basic NestJS project using the CLI.
  • Create models, controllers, and services.
  • Implement CRUD operations on your database.
  • Configure the API endpoints and routing.
  • Test your API using Postman or a similar tool.
Write a Technical Blog on NestJS Features
Enhance your understanding by writing a technical blog on specific NestJS features, explaining intricacies, advantages, and potential use cases.
Show steps
  • Choose a specific NestJS feature or module.
  • Research and understand its functionality.
  • Create a blog outline covering key concepts and benefits.
  • Provide code examples and explanations.
  • Publish your blog on a platform like Medium or Dev.to.
Participate in NestJS Hackathons
Challenge yourself by participating in NestJS hackathons, building real-world applications under time constraints, and showcasing your skills.
Show steps
  • Find upcoming NestJS hackathons.
  • Form a team or work individually.
  • Ideate, design, and build your application within the time limit.
  • Submit your project and present it to judges.

Career center

Learners who complete NestJS Zero to Hero - Modern TypeScript Back-end Development will develop knowledge and skills that may be useful to these careers:
Software Engineer
As a Software Engineer specializing in back-end development, you'll use your knowledge and expertise in NestJS and Node.js to build scalable, high-performance applications. NestJS Zero to Hero will teach you the fundamentals of NestJS and guide you through developing a complete back-end application from start to finish.
Back-End Developer
If you're looking to excel as a Back-End Developer, NestJS Zero to Hero is an excellent choice. This course will lay a solid foundation in NestJS, one of the leading Node.js frameworks for back-end development, and provide you with hands-on experience in building real-world applications. You'll learn best practices for database interaction, authentication, authorization, and more.
Full-Stack Developer
NestJS Zero to Hero can help you advance to a Full Stack Developer role. Full Stack Developers work on both the front-end and back-end of software applications, and NestJS is a powerful framework for building robust back-end systems. You'll gain valuable experience with NestJS, TypeORM, and other essential technologies that will make you a sought-after candidate in this exciting field.
Node.js Developer
NestJS Zero to Hero is a valuable course for aspiring Node.js Developers. Node.js is a widely used technology for building server-side applications, and NestJS is a popular framework for building scalable and efficient Node.js applications. This course will provide you with a comprehensive understanding of NestJS and help you build a strong foundation in Node.js development.
Web Developer
NestJS Zero to Hero can provide valuable skills for Web Developers seeking to enhance their back-end development skills. NestJS is a robust framework for building web applications, and this course will guide you through the process of developing a fully-featured web application using NestJS. You'll learn how to create REST APIs, manage databases, and implement authentication and authorization, all essential skills for successful Web Developers.
Data Engineer
NestJS Zero to Hero may be useful for Data Engineers interested in learning more about back-end development and building data-intensive applications. NestJS is a powerful framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll gain experience in database interaction, data modeling, and data persistence, valuable skills for Data Engineers.
Cloud Engineer
NestJS Zero to Hero may be useful for Cloud Engineers looking to enhance their skills in back-end development and cloud deployment. NestJS is a versatile framework that can be used to build cloud-native applications, and this course will provide you with a solid foundation in NestJS and related technologies. You'll learn best practices for deploying applications to the cloud, including AWS, and gain experience in managing cloud infrastructure.
DevOps Engineer
NestJS Zero to Hero may be useful for DevOps Engineers interested in learning more about back-end development and CI/CD pipelines. NestJS is a popular framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll gain experience in setting up CI/CD pipelines, managing infrastructure, and monitoring applications, all valuable skills for DevOps Engineers.
Product Manager
NestJS Zero to Hero may be useful for Product Managers looking to gain a deeper understanding of back-end development and technical aspects of software development. NestJS is a powerful framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll gain insights into the process of developing back-end systems, which can be valuable for Product Managers in making informed decisions and communicating with technical teams.
Business Analyst
NestJS Zero to Hero may be useful for Business Analysts looking to enhance their technical skills and gain a deeper understanding of software development. NestJS is a popular framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll learn about the principles of back-end development, data modeling, and application architecture, improving your ability to analyze and document technical requirements.
Technical Writer
NestJS Zero to Hero may be useful for Technical Writers looking to gain a deeper understanding of back-end development and technical concepts. NestJS is a popular framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll learn about the principles of back-end development, data modeling, and application architecture, improving your ability to write accurate and engaging technical documentation.
Project Manager
NestJS Zero to Hero may be useful for Project Managers looking to enhance their technical knowledge and better understand the development process. NestJS is a popular framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll gain insights into the challenges and complexities of back-end development, which can help you in planning and managing software projects more effectively.
UX Designer
NestJS Zero to Hero may be useful for UX Designers seeking to gain a better understanding of the technical aspects of web development. NestJS is a popular framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll learn about the principles of back-end development, data modeling, and application architecture, which can help you design user-friendly and efficient web applications.
Marketing Manager
NestJS Zero to Hero may be useful for Marketing Managers looking to gain a better understanding of the technical aspects of web development and back-end systems. NestJS is a popular framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll learn about the principles of back-end development, data modeling, and application architecture, which can help you better understand the technical capabilities and limitations of the products and services you are marketing.
Sales Manager
NestJS Zero to Hero may be useful for Sales Managers looking to gain a better understanding of the technical aspects of web development and back-end systems. NestJS is a popular framework for building scalable and efficient applications, and this course will provide you with a foundation in NestJS and related technologies. You'll learn about the principles of back-end development, data modeling, and application architecture, which can help you better understand the technical capabilities and limitations of the products and services you are selling.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in NestJS Zero to Hero - Modern TypeScript Back-end Development.
Focuses on building microservices using NestJS, providing practical examples and techniques for distributed system development.
Explores design patterns in Node.js, providing a broader perspective on software design principles that are applicable in NestJS development.
Provides a foundation in Express, which is used by NestJS under the hood, enhancing your understanding of the underlying technology.
This comprehensive guide to MongoDB, the database used in the course, provides in-depth knowledge and best practices for data persistence.
Offers a practical approach to Node.js development, providing hands-on examples and guidance for real-world scenarios.
Provides a comprehensive overview of JavaScript, the core language used in NestJS, enhancing your understanding of its intricacies.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to NestJS Zero to Hero - Modern TypeScript Back-end Development.
Fundamentals of NestJS
Node.js, Express, MongoDB & More: The Complete Bootcamp...
NestJS: The Complete Developer's Guide
Developing Cloud Apps with Node.js and React
Guided Project: Build your first Node.js app
Guided Project: Build your first Node.js app V2
Build a Full Stack App using React and Express
TypeScript Bible: An Advanced TypeScript Course
The Complete Node.js Developer Course (3rd Edition)
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser