Tom RayTom Ray
Published on
Last updated:

NestJS Lifecycle - 8th September 2023

Hope you're doing great ๐Ÿ‘‹!

Another 2 weeks have gone by and a lot of progress has been made on the course I'm building - how to learn NestJS by building real-world projects.

Still planning to launch in November 2023.

Here's an update on the launch of the course:

๐Ÿ‹๏ธ What have I been working on the last 2 weeks?

I've been working on a new project in the course called "The NestJS Lifecycle".

NestJS contains a lot of cool features and functionality, like Pipes, Guards, Interceptors & Exception Filters (and more!). I want to include a project that covers these concepts so you know enough to be dangerous. After this project, you'll have a good mental model of which NestJS features solve specific problems so you can make the most of the framework when you're working on real projects.

Also, another goal of this project is to understand how the NestJS lifecycle works. As a request hits your server, it flows through Pipes, Guards, Interceptors, Routers, Exception Filters and more! So understanding the lifecycle - the order of the code execution - is key to your understanding of NestJS.

๐Ÿš€ What projects will be included in the course?

The course will be project-based. Here are the projects that are in progress and will be included in the course:

๐ŸŒˆ The NestJS Lifecycle

โ€‹Take a look in the above section of this email for an explainer on what this project will be about!

๐Ÿชด The Ultimate NestJS Starter Repo

โ€‹The goal is to create a NestJS starter repo (we'll actually make 2 repos, 1 for standalone NestJS apps and 1 for monorepo) that prioritises an amazing developer experience, as well as adding some configuration that'll be useful across many projects, like handling env variables, cache, docker compose local setup, e2e config setup and more! For a more detailed breakdown of what'll be included in the starter repo, take a look this update from August 25th.

๐Ÿ•ธ๏ธ URL shortener API

โ€‹In this project, we'll build a url shortening tool like the functionality shown here. You will be able to pass in a url and get back a shortened url that you can use (that will redirect to the original url you passed in). We'll be building out a full Rest API with CRUD functionality, API key based authentication, persisting to a database, unit and e2e testing, and more! The aim of this project is to cover 80% of the NestJS features that youโ€™ll use in a real-world API project and give you a strong NestJS foundation for the remaining projects.

I honestly feel that these 3 projects are a really great introduction to NestJS and will give you a very solid foundation.

I'll be announcing more projects in the weeks ahead that'll go into more advanced topics like handling file uploads, sending jobs to a queue, authentication, authorization, websockets and more!

As mentioned previously, all projects will include testing (unit, integration & end-to-end) and deployment ๐Ÿ™ƒ.

โœ… Next steps:

Iโ€™m going to continue building this course in public, sharing updates with you every 2 weeks to keep you in the loop on my progress. Here are some of my next to-do items to work through:

  • Start working on the next project. At the moment I think it's going to be some kind of tool where you can upload a CSV file and each row in the file is sent off to a queue for processing.
  • Keep making small daily progress. Similar to my tutorials, I'm prioritising quality of the material and really trying to explain concepts from first principles (which takes a lot of time!). But with daily action I am making good progress.

Is there anything else you'd like to know from these updates Let me know by replying to any of the emails I send you, I'd love to hear from you! โœŒ๏ธ.