Tom RayTom Ray
Published on
Last updated:

The ultimate NestJS starter repo - 25th August 2023 Update

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.

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

🚀 The Ultimate NestJS Starter Repo

Last week, I mentioned that the 1st project in the course will be building the ultimate NestJS starter repo. I'm really excited about it! The setup makes for a great developer experience.

Here's some of the features it includes:

  • A custom logger service that uses Winston behind the scenes. Also includes automatic HTTP request logging
  • Extra tsconfig fields that make for a better developer experience and reduce chance of bugs
  • Uses the ConfigModule for accessing environment variables
  • Using NestJS interceptor for consistent http responses
  • Caching with Redis
  • Database Module with initial Prisma set up
  • Local & testing development setup with Docker Compose
  • Relevant unit testing packages
  • E2e testing setup with Jest to automate clean up of test data
  • All the other projects in the course will be using the NestJS starter as the foundation, so it's important to get it right!

⚡️ Announcing the next project...

The 2nd project in the course will be building out a full Rest API with CRUD functionality, API key based authentication, persisting to a database, unit and e2e testing, and more!

We'll cover all that by building 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 also cover updating a link, deleting a link, and getting back all the links you've created.

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.

✅ 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:

  • Finish working on the written tutorial for the URL shortening project
  • Decide on what the next project will be and how the next project can build on the concepts learned so far
  • 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! ✌️.