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! ✌️.