NestJs Course for Beginners – Create a REST API

Ecommerce Empire Academy

Learn NestJs by building a CRUD REST API with end-to-end tests using modern web development techniques. NestJs is a rapidly growing node js framework that helps build scalable and maintainable backend applications.

In this course, we build a bookmarks API from scratch using nestJs, docker, postgres, passport js, prisma, pactum and dotenv.

💻 Code:

✏️ Course from Vladimir Agaev. Check out his YouTube channel:

⭐️ Course Contents ⭐
⌨️ (0:00:00) Course introduction
⌨️ (0:01:15) What is NestJs
⌨️ (0:02:35) Why using NestJs
⌨️ (0:03:35) What we are building
⌨️ (0:03:55) NestJs project setup
⌨️ (0:05:55) Modules
⌨️ (0:15:30) Auth module
⌨️ (0:19:50) Dependency injection
⌨️ (0:20:30) Auth controller
⌨️ (0:26:50) Setting up postgres in docker
⌨️ (0:29:10) Setting up prisma
⌨️ (0:32:10) User & bookmark models
⌨️ (0:35:50) Running prisma migrations
⌨️ (0:40:10) Prisma module
⌨️ (0:52:10) Using auth dtos
⌨️ (0:57:45) NestJs pipes
⌨️ (0:59:10) NestJs global pipe
⌨️ (1:02:50) Hashing user password with argon
⌨️ (1:03:20) Sign up logic
⌨️ (1:13:13) Sign in logic
⌨️ (1:16:50) Automate postgres restart & prisma migrations
⌨️ (1:27:40) NestJs config module
⌨️ (1:34:40) Using passport js & jwt module with nestJs
⌨️ (1:55:10) Get current user with access token
⌨️ (1:57:00) NestJs Guards
⌨️ (2:12:10) NestJs custom param decorator
⌨️ (2:27:10) e2e tests with pactumJs
⌨️ (2:35:10) Setting up test database
⌨️ (2:36:10) Automate test database restart & migrations
⌨️ (2:37:10) Using dotenv cli with prisma
⌨️ (2:44:30) Prisma database teardown logic
⌨️ (2:53:10) Auth e2e tests
⌨️ (3:02:01) User e2e tests
⌨️ (3:13:20) Bookmarks e2e test

🎉 Thanks to our Champion and Sponsor supporters:
👾 Raymond Odero
👾 Agustín Kussrow
👾 aldo ferretti
👾 Otis Morgan
👾 DeezMaster

Learn to code for free and get a developer job:

Read hundreds of articles on programming:

And subscribe for new videos on technology every day:

28 thoughts on “NestJs Course for Beginners – Create a REST API”

  1. I quickly browsed through the video and I have to say that this is high quality! Awesome job and thank you for sharing it! Perhaps we could see something similar done with a fullstack framework such as Nextjs or Nuxtjs?

    1. @freeCodeCamp.org sadly half of that video is about sanity so I had to give up 🙁 Why not use for example an already existing API just to try out NextJS only.. but still I appreciate the effort

  2. such a beautiful and easy to follow teaching, you do focus on explaining advanced concepts and giving us exactly what is going to make us PRO, SO MUCH LOVE TO YOU SIR

  3. Thank you Beau!
    I really enjoyed making this course, I hope that it will be helpful to anyone who wants to learn about NestJs! 😊

    1. Code with Vlad

      @Ojeomokhai Samuel Thank you for asking. In fact I do. I will keep you guys posted on my channel!

    2. shaun mlangeni

      getting this error , can help

      const core_1 = require(“@angular/core”);
      ^
      Error [ERR_REQUIRE_ESM]: require() of ES

    3. ความเห็นถูกเ_ี@Kade Invictusพกเภคกจึเจภพรครพกจนภำุพคเค้กที่ถคำคัด/ ที่กู

    4. Emilius Mfuruki

      Thank you vey much, very helpful video… I wish you could everything you said at the end of this video 3:41:28….

  4. Spent a long time searching for a good guide on using nestjs with Prisma and gotta say this is an amazing guide that came out at the right time.

  5. This is totally amazing. All the other tutorials touches only on some very basic stuff, and this is full proof stuff with test and all that! Really amazing job!

  6. Vladimir is very professional and I have learned a lot from him, thank you for making this high-quality course!

  7. This was absolutely a awesome course, Thank you so much! Nest is a little weird with those decorators. Your icon pack in visual studio is different then mine they actually show the nest logo… I use night owl by Sarah Drasner for a theme and the icons vscode-icons. I highly recommend!

  8. Great tutorial! Needed to write a new API for a side biz and was itching for something new. NestJs is very slick, glad I gave it a try. This is the first time I’ve felt that same productivity boost of Rails from the early days.

  9. Thank you very much! I really learn a lot from this course.I met many problems which I can not slove them,but when I study this course , I can handle these problems by myself.

  10. Alexander Grigoryan

    Thank you very much Vlad for so clean and great explanations. I recommend this course for everyone who is willing to learn by doing.

  11. economicist2011

    Fantastic introduction. My club leader announced our next project will use NestJS and I was thrilled to see such a comprehensive and up-to-date tutorial.

  12. Eduardo Saboia

    This tutorial is an excellent introduction to nestjs.
    Top notch teaching and tips.
    Thanks to Professor Vlad and freeCampCode.

  13. This is one of the first fcc videos, that I watch from beginning to end. The instructor was just amazing and I learned tons of tricks along the way. I usually code api’s at work with fastapi, but nestjs is a nice weapon for my arsenal. Thank you Vlad!

  14. I decided to develop my project with prisma and nest thanks to you. Your course very very clear and comprehensible.

  15. Edison Dsouza

    What an amazing course! I am a react native developer. Found this tutorial so informative and easy to understand. Very well structured 👌 Would love to work with such developers ❤️

  16. Thanks a ton for this amazing tutorial! Just had one small question, how do I go about splitting the e2e tests into multiple files? Keeping everything in one file is getting a little overwhelming

  17. Ricard Nikens Malla

    This is so, soooo, good. Thanks a lof, to both freeCodeCamp and Code with Vlad. This is a really amazing course. At all levels: quality, easy to follow, in-depth…

  18. Antonio Barile

    Wow! This course is soo dense of precious information! Thank you very much Vlad for sharing your knowledge with us in a such clean and understable way!

Comments are closed.