Tom RayTom Ray
NestJS logo
⚑️ Last updated in December 2022

Learn NestJS by Building Real Projects

An immersive, hands-on course where you'll learn NestJS by building real-world projects from scratch, covering NestJS concepts and best practices.

πŸ’‘ What you'll learn:

Through various projects, you'll learn the following techniques and concepts:

  • Building a REST API with full CRUD functionality using NestJS Controllers, Middleware & Pipes
  • Authentication, Authorization, Guards & Sessions
  • Persisting data to a database and cache
  • Processing jobs in a queue
  • Unit testing, integration testing and end-to-end testing
  • Realtime app using Websockets
  • Fullstack monorepo
  • All projects will include deployment

πŸš€ Why take this course?

  • Accelerate your NestJS learning with real-world projects. You won't sit there watching hours of content without taking action - you'll be coding along and building real things!
  • Gain hands-on experience you can apply directly to build your own software projects and advance your career.
  • Learn best practices and advanced techniques used by NestJS pros.

Here's what some fellow NestJS developers are saying about my content:

Really appreciate your content on NestJS. They are one of the best, cover alot and are easy to follow!

Martin

Martin

πŸ‡©πŸ‡ͺ Developer from Germany

Big thanks for the comprehensive and easy to follow guide! Got the logs for our new app sorted in minutes! Cheers! πŸ™

Joakim

Joakim

πŸ‡ΈπŸ‡ͺ Developer from Sweden

I just found your other article for NestJS + PostgreSQL! Solid content. Love how clear and simple it is.

Martin

Martin

πŸ‡ΊπŸ‡Έ Jay from USA

✍️ What projects are included in the course?

This course is project-based. See the list of projects and the respective name of the lessons in the course:

Project 1
🌈 Random Emoji Generator API
  • The NestJS Lifecycle
  • Middleware
  • Guards
  • Interceptors (before handlers)
  • Pipes
  • Route Handlers
  • Interceptors (after handlers)
  • Exception filters
  • Dependency injection
  • E2e testing
  • CI/CD set up with Github Actions & Railway
Project 2
πŸͺ΄ Ultimate NestJS Starter Repo
  • Adding a Core module with ConfigModule
  • Using an interceptor to enforce a consisten HTTP response
  • Security considerations (Helmet & validation pipes)
  • Setting up a custom logger
  • Docker compose set up (postgres & redis)`
  • Interacting with the database (with Prisma)
  • Interacting with the cache (with Redis)
  • Unit, integration & e2e testing
  • Setting up the CI/CD pipeline with Github Actions
  • Deployment with Railway
Project 3
πŸ•ΈοΈ URL Shortener API
  • Adding CRUD endpoints
  • Business logic: creating a shortened URL
  • Business logic: redirecting a shortened URL
  • Business logic: updating and deleting a shortened URL
  • Business logic: return a list of saved shortened URLs
  • API key authentication
  • Unit testing
  • Integration testing & e2e testing
  • Deployment with Railway
Project 4
🏑 Real estate listings (using queues)
  • Add logic for creating new real estate listings
  • Attach image files to HTTP request
  • Setting up the queue with Bull
  • Visualise the queue with Bull Board
  • Sending files to the queue for processing
  • Uploading files to Google Cloud Storage
  • Storing a reference to GCP image in the database
  • Unit testing
  • Integration testing
  • E2e testing
  • Deployment with Railway
Project 5
πŸ“¬ Slack Clone: Monorepo with NestJS & NextJS
πŸ”¨ This project is currently under construction and will be available in February 2024.
  • Using a monorepo set up with pnpm workspaces
  • Setting up a WebSocket server and client in NestJS
  • Building user authentication from scratch in both NestJS & NextJS
  • Add user signup & login (i.e. authentication, including Google OAuth)
  • Set up access tokens and refresh tokens
  • ... and more!

πŸ€” Who Should Take This Course?

  • Developers familiar with Node.js who want to learn NestJS and its associated ecosystem.
  • Frontend developers who want to expand their skillset and learn how to build full-stack applications.
  • Developers interested in building scalable and efficient backend applications using TypeScript.

πŸ€“ Who is making this course?

πŸ‘‹ Hi! I'm Tom, a proud JS/TS dev from Brighton, UK. Through my blog, I've helped over 20,000 NestJS developers build cool projects and advance their careers. I'm also the creator of NestJS Fundamentals, a free course that's been taken by over 1000s of developers.

❓ Frequently asked questions

What if I am not happy with the course?
We're confident that you'll find immense value in our course. However, if you're not completely satisfied, we offer a 30-day, no-questions-asked money-back guarantee. Just reach out to us within the first 30 days of purchase for a full refund.
What does lifetime access mean?
Lifetime access means that once you purchase the course, you will have unlimited access to the course material for as long as the course exists. You can go back and review the content whenever you need a refresher, completely free of any additional charges.
Will I receive updates to the course material?
Yes, you will! With lifetime updates, you'll automatically receive access to all future iterations of the course content, including new lessons, projects, and resources, at no extra cost.
What format is the course?
The course is video-based. Each video lesson also includes the respective content in text-based format, akin to high-quality blog tutorials. This allows for easy follow-along at your own pace.
How does the course ensure I'm learning practical skills?
Each project in the course is designed around real-world applications, ensuring that you gain practical experience. The lessons are structured to take you from the basics to advanced topics, culminating in a comprehensive understanding that you can apply directly to your own projects.

πŸƒβ€β™€οΈ Ready to Begin Your NestJS Journey?

An immersive, hands-on course where you'll learn NestJS by building real-world projects from scratch, covering NestJS concepts and best practices.