Tom RayTom Ray
NestJS logo
⚑️ Last updated in May 2024

Master NestJS by Building Real-World Projects

Learn the skills to build scalable, efficient, and powerful backend applications with NestJS through hands-on, project-based learning.

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


πŸ‡©πŸ‡ͺ Developer from Germany

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


πŸ‡ΈπŸ‡ͺ Developer from Sweden

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


πŸ‡ΊπŸ‡Έ Developer from USA

Let's face it - Learning NestJS is hard πŸ€¦β€β™‚οΈ

NestJS has emerged as a go-to framework for building scalable and efficient server-side applications. Many job postings now list NestJS as a desired skill for backend developers.

However, if you've attempted to learn NestJS on your own, you might have found it overwhelming. There are numerous concepts to grasp, and many tutorials assume a significant amount of prior knowledge and experience.

old man meme

Perhaps you've found yourself trapped in tutorial hell, going through countless tutorials without making concrete progress.

You're eager to learn NestJS, but the journey hasn't been smooth. πŸ˜•

I'm here to help 🫑

Over the past year, I've been developing the ultimate project-focused NestJS course.

You won't simply watch me code passively. The course is packed with practical exercises, real-world inspired projects, and engaging coding challenges. It's a unique learning experience tailored specifically for NestJS enthusiasts.

We'll learn NestJS from the ground up, constructing a solid foundation and mental model that will enable you to understand NestJS and tackle complex problems effectively.

yoda meme

I'll share the numerous insights and best practices I've gained from years of professional NestJS development.

But we won't stop at NestJS alone. The course covers wider server side development concepts like working with asynchronous queues, handling errors, and writing tests.

The truth is, NestJS is awesome πŸ™Œ

Once you grasp the core concepts, NestJS becomes a powerful ally in your backend development journey. I've worked with various server-side frameworks, and NestJS stands out for its ability to boost productivity and maintainability.

Building scalable and robust backend applications is no simple feat. It requires careful consideration of performance, security, and architecture.

To truly harness the power of NestJS, we first need to establish a strong foundation and understand the conventions and patterns that make NestJS so effective. Then, we'll explore how leveraging the right tools and techniques can supercharge our NestJS development.

This is the path to becoming a confident and proficient NestJS developer. It's a rewarding experience, and I want to guide you along the way.

Let me show you how this course will make your learning journey enjoyable and transformative.

πŸ’‘ What you'll learn:

Through various projects and video-based lessons, 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

✍️ 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
  • 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
  • Google authentication
  • Set up access tokens and refresh tokens
  • ... and more!

πŸ’° How much does the course cost?

There are 2 pricing tiers available:

Basic Plan


Covers the fundamentals of NestJS

  • βœ… Access to the first 3 projects
  • βœ… 30-day money-back guarantee
  • βœ… Lifetime access
Register Now

Ultimate Plan


My premium plan that covers both fundamentals and advanced topics.

  • βœ… Everything in the Basic plan
  • βœ… 30-day money-back guarantee
  • βœ… Certificate of Completion
  • βœ… Includes Project 4: Real Estate Listings project
  • βœ… Includes Project 5: Slack Clone project
Register Now

πŸ€” 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.