NestJs Course for Beginners - Create a REST API

Sdílet
Vložit
  • čas přidán 17. 05. 2024
  • 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: github.com/vladwulf/nestjs-ap...
    ✏️ Course from Vladimir Agaev. Check out his CZcams channel: / @codewithvlad
    ⭐️ 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: www.freecodecamp.org
    Read hundreds of articles on programming: freecodecamp.org/news

Komentáře • 687

  • @CodeWithVlad
    @CodeWithVlad Před 2 lety +504

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

    • @Lionellord
      @Lionellord Před 2 lety +7

      Thanks Vlad

    • @kadeinvictus1759
      @kadeinvictus1759 Před 2 lety +7

      Thank you for your video. I finished it, it was excellent

    • @christophermaisch
      @christophermaisch Před 2 lety +4

      Vlad, you are a legend bud! Keep it up, love the way you work!

    • @CodeWithVlad
      @CodeWithVlad Před 2 lety +2

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

    • @SeanJuice
      @SeanJuice Před 2 lety

      getting this error , can help
      const core_1 = require("@angular/core");
      ^
      Error [ERR_REQUIRE_ESM]: require() of ES

  • @nijojoseph
    @nijojoseph Před 2 lety +38

    @1:22:30 for windows users use timeout 1 instead of sleep 1. Thanks.

  • @marckraw
    @marckraw Před 2 lety +15

    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!

  • @donang6157
    @donang6157 Před 2 lety +12

    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.

  • @TheFern2
    @TheFern2 Před 2 lety +5

    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!

  • @alexlun4464
    @alexlun4464 Před rokem +18

    Dude... you're a fantastic teacher. Hands-on approach is the only thing that works for me. The only time I really soak in information is when I apply it in practice. Thank you so much for this easy-to-follow tutorial.
    If you're a viewer finding this tutorial hard, don't despair. Many of us have a background in another backend framework (Ruby on Rails in my case) so we are very familiar with many concepts talked here. Just keep practicing until it sticks with you, we were all in your shoes once so you'll get there too.

  • @ciferr1032
    @ciferr1032 Před měsícem +23

    Where tf does youtube take me when I fall asleep

  • @jolyonblazey
    @jolyonblazey Před rokem +10

    Fantastic training by building an app while you watch, and explaining why stuff is important, but moving on quickly, such a broad coverage of different libraries and tools. I have watched it several times. This will be important for my new job. Thanks.

  • @saman6199
    @saman6199 Před rokem +24

    Everything about this tutorial was more than perfect, the walkthrough, detailed explanation and also the test environment setup, thanks for your hard work, much appreciate it.

  • @siwm6309
    @siwm6309 Před 2 lety +2

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

  • @aRTEESTtv
    @aRTEESTtv Před rokem +16

    I listened to around 45 minutes for now, and this seems like a really easy and intuitive way to teach. I read about NestJS and started utilizing it recently, but this video makes my understanding of NestJS really stronger and I appreciate it. You earned yourself another subscriber. :)

    • @truehighs7845
      @truehighs7845 Před 2 měsíci

      I listened to around15 minutes and woke up at 3 hours 05 and have absolutely no idea what happened. Is food ready?

  • @franckt2407
    @franckt2407 Před rokem +3

    This course is so amazing! What a wonderful legendary teacher! you properly introduce each concept theoretically and then trough practice you make things concrete in minds.

  • @jonathanbecerra4819
    @jonathanbecerra4819 Před 10 měsíci +3

    I just switched from Rust/Axum to TS/NestJS. The developer experience with TS and NestJS is hands down beautiful.

  • @Beyram1501
    @Beyram1501 Před 7 měsíci +7

    It is safe to say that I've never watched a better tutorial and I'm not even exaggerating. NestJS is amazing and explained by you seems even more amazing. wow, hope you have a udemy account so I can follow and purchase more of your courses.

  • @petarp3938
    @petarp3938 Před rokem +22

    At 1:12 / 1:13, you will now probably have to replace "error instanceof PrismaClientKnownRequestError" with "error instanceof Prisma.PrismaClientKnownRequestError" and do "import { Prisma } from '@prisma/client'"

    • @kadir572
      @kadir572 Před rokem +1

      Thanks this helped me to solve the issue!

    • @BAINBRIDGE_BODEGA
      @BAINBRIDGE_BODEGA Před rokem

      Thanks m8, this was helpful!

    • @magdastein5580
      @magdastein5580 Před rokem

      ahh you already wrote that, didnt see it and wrote a comment about it too :)

    • @kantorobo7718
      @kantorobo7718 Před rokem

      Great comment

    • @alexognyanov9929
      @alexognyanov9929 Před rokem

      br i was stuck at this for a solid 15 minutes and decided to check the comments, tysm

  • @user-ve2zu9fy7v
    @user-ve2zu9fy7v Před 2 lety +7

    TBH this is the best youtube channel I've ever seen. Keep up the amazing work

  • @MikeNicklas
    @MikeNicklas Před 2 lety +2

    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.

  • @andreaho
    @andreaho Před 2 lety +2

    Unbelievable! Folks sell such a course hundreds of dollars while it's freely delivered here. Keep it up, the world needs many more of you guys.

  • @CorentinClichy
    @CorentinClichy Před 2 lety +4

    I rarely post comments, but when I get content like this, I need to!
    Thanks a lot for the good work, the explanations are clear and complete. Thanks a lot, it will definitely improve my nest js skill !

  • @pankajkhushalani
    @pankajkhushalani Před 2 lety +7

    ❤️ NestJS
    It makes backend dev so quick and the integrations with SwaggerUI and TypeORM are amazing!

  • @victorbayas6296
    @victorbayas6296 Před rokem +9

    For Windows users, instead of sleep 1 put node -e \"setTimeout(()=>{}, 1000)\" on your package.json
    PD: Thanks Vlad, one of the best courses I've seen 💯

  • @abarnto
    @abarnto Před rokem +2

    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!

  • @sunn-e
    @sunn-e Před rokem +22

    If you get stuck somewhere, run `npm run build` from terminal. For eg; ValidationPipe issue.

  • @edisondsouza3404
    @edisondsouza3404 Před 2 lety +29

    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 ❤️

  • @oluap7449
    @oluap7449 Před rokem +1

    2 hours and 22 minutes down, this course is absolutely amazing, and NestJs really is a powerful tool :D

  • @alexandergrigoryan3359
    @alexandergrigoryan3359 Před 2 lety +3

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

  • @snperu732
    @snperu732 Před rokem +4

    one of the best courses on nests Lotts of love FCC and Vlad

  • @alexognyanov9929
    @alexognyanov9929 Před rokem

    watched through it all while going to school, probably the best tutorial i have ever watched

  • @muhammedalidilekci4585
    @muhammedalidilekci4585 Před rokem +2

    I've watched the first hour of this video. I will continue watching, just wanted to say thank you so much. I really enjoyed following you and this tutorial was exactly what I needed. You got yourself a new subscriber. Keep up the good work 💪🏼👊🏼

  • @oussamasadiki7377
    @oussamasadiki7377 Před 2 lety +9

    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

  • @theeverydaydev
    @theeverydaydev Před 10 měsíci

    Followed and enjoyed every bit of this lesson! My journey to fullstack development starts here! Thank you!

  • @jamesononiwu6330
    @jamesononiwu6330 Před 5 měsíci +2

    you are a very good teacher, the speed and explanation is just okay. i'm currently learning nestJS from this course .

  • @TanishqIsHere
    @TanishqIsHere Před rokem

    Thank you! The information in this tutorial is compressed so much that it made me learn more than most 10+hrs content. This video is going to act as a quick reference handbook on nextjs for a while for me.

  • @solyaridz389
    @solyaridz389 Před rokem +3

    if you have hard time with docker like i did.
    Then run:
    docker pull postgres
    and chane postges-13 to postgres:latest in docker-compose

  • @DanShepherd72
    @DanShepherd72 Před 2 lety +1

    Very comprehensive! I hadn’t even heard of NestJs until I saw this video and now I want to use it 👍

  • @reandov
    @reandov Před rokem +12

    Hey man, just finished your tutorial. I am a frontend React developer for almost 2 years, I've been wanting to learn backend development for quite a while and your NestJS tutorial is simply amazing and well taught. Thank you!

    • @jasmeetsinghratra7551
      @jasmeetsinghratra7551 Před rokem

      Hey Evandro, did you know node-express before starting this? Can i start with it if i do now know about it?

    • @reandov
      @reandov Před rokem +1

      @@jasmeetsinghratra7551 I knew but it's totally ok if you don't know. They're pretty much different but equally fine to learn

    • @user-cn8hy2bb9g
      @user-cn8hy2bb9g Před 4 měsíci

      I need a remote job@@reandov

  • @IncomingLegend
    @IncomingLegend Před 2 lety +60

    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?

    • @freecodecamp
      @freecodecamp  Před 2 lety +5

      Here is a good course about NextJS: czcams.com/video/1WmNXEVia8I/video.html

  • @lemillion8394
    @lemillion8394 Před rokem +2

    Awesome tutorial! Just what I needed for a NestJs refresher :D Thanks a lot!

  • @mrumidjontv6235
    @mrumidjontv6235 Před rokem

    I don't know how to thank, man. It is the best tutorial I have ever seen on youtube. Just amazing!!!!

  • @adrianozuna2149
    @adrianozuna2149 Před 8 měsíci

    This tutorial has been amazing. Everythings been clearly explained at a not too fast not too slow pace and your accent is cool too!

  • @pocketwalaali
    @pocketwalaali Před rokem +2

    Vlad is a great teacher. Learnt so much from this course.

  • @nanonkay5669
    @nanonkay5669 Před 2 lety +2

    I love this framework. I've only ever used Express and nest but I never want to look back again

  • @abdellahbrahimi7217
    @abdellahbrahimi7217 Před 2 lety +2

    I was waiting for that Tutorial for ages, thanks!

  • @rudiehe
    @rudiehe Před rokem +2

    Very well done Vlad! Tons of useful information and techniques!

  • @KWalkerNNK
    @KWalkerNNK Před rokem +2

    The lecture was excellent, it gave me a little insight into NestJS - This is a great framework!👨‍💻

  • @economicist2011
    @economicist2011 Před 2 lety +2

    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.

  • @agenticai9352
    @agenticai9352 Před 2 lety +4

    Super solid tutorial - I've been using NestJS for about 6 months - it is a super solid platform for backend REST APIs. I went through this tutorial to learn more about Prisma as an ORM. I love the way you describing Prisma's automatic type generation as "very awesome" at 38:29 . Please make more content regarding NestJS best practices!

    • @nobytes2
      @nobytes2 Před 2 lety

      it is awesome because other orms have schemas and models as two separated files, so you have to do twice the work. For example in adonisjs with lucid orm you have to manage the model and migration file all by hand.

    • @Cognitoman
      @Cognitoman Před rokem

      @@nobytes2 I actually like it that, keep your schemes and models separated that way they are not tightly coupled

  • @esnoan
    @esnoan Před 2 lety

    Thanks Vlad, this is the best nest js tutorial I've ever seen

  • @priestwithnobible
    @priestwithnobible Před 15 dny

    I've already watched half of it and am amazed by how good this video is. Tells you about many possibilities of nestjs and so easy to understand

  • @Sofien_Steve
    @Sofien_Steve Před měsícem

    one of the best tutorials I've ever watched, totally worth the time

  • @sengasun2810
    @sengasun2810 Před 2 lety

    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.

  • @elmirmahmudov6215
    @elmirmahmudov6215 Před 2 lety +9

    I was looking for a NestJs tutorial. You really read my mind) please make advanced version also🙏🏻 with projects

  • @khoinguyenvu8091
    @khoinguyenvu8091 Před 2 měsíci

    Never self-code API Backend but with only first time to watch your video, i understand many thing about it. Thank you very much!

  • @faraonch
    @faraonch Před rokem

    A well done tutorial. I needed to catch up as my company uses NestJS and I've completely lost track. Now, I am back.

  • @Yuta-cy5ox
    @Yuta-cy5ox Před 3 měsíci

    It was so amazing NestJS tutorial.
    I used to think that learning NestJS would be difficult for me.
    However, through this tutorial, I could understand the fundamental concept of NestJS.
    Thank you very much for your kind tutorial.

  • @prasadpulaguntla9255
    @prasadpulaguntla9255 Před 10 měsíci +2

    One of the best courses from Free Code Camp!!

  • @vitorsantosmartins9764

    Great course, helped me to get into Nest.js framework for the first time!

  • @universecode1101
    @universecode1101 Před 2 lety +7

    An another huge piece of Javascript 🔥

  • @DullJoker
    @DullJoker Před 2 lety

    Yo you guys are one of the (not not the) best youtube channel for learning new development stuff. love to you guys and thanks for your content 😄

  • @walidrashed3940
    @walidrashed3940 Před 2 lety +2

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

    • @meme_engineering4521
      @meme_engineering4521 Před rokem

      didn't know the Russian president makes programming courses as well, nice

    • @walidrashed3940
      @walidrashed3940 Před rokem +1

      @@meme_engineering4521 well, it's not easy to put food on the table nowadays because of the sanctions, he had to change his career!

    • @meme_engineering4521
      @meme_engineering4521 Před rokem

      @@walidrashed3940 haha nice one😂😂

  • @_hugo_cruz
    @_hugo_cruz Před 6 měsíci

    This is the best course about Nest I was see, very complet and perfect learn. Thanks to all people that will made this possible. Hug!!!

  • @aislanarislou
    @aislanarislou Před rokem +2

    Thanks for the awesome tutorial!!!! Please bring more ^_^
    But one suggestion: in the tests when you are making use of the "stores" funcionality from "pactum" lib to save variables to use further in next tests... it's not the best approach, because you are creating dependency between the tests when the recommended way is to write tests with scope isolated and independent of each other, so than when one test fails, it will not causing others failing in cascade.

  • @stanciudragos4900
    @stanciudragos4900 Před rokem

    This was a very good presentation, we did a lot more than just your basic todo list app. Thank you very much for this awesome video = ). I bet every1 that had never used nest before can now confidently dig into a production app and start working right away.

  • @kevingrondin974
    @kevingrondin974 Před 2 lety +2

    Thanks, it's great because Nest is most popular framework in nodejs, and prisma it's new orm 👍

  • @abhinrustagi
    @abhinrustagi Před 2 lety +2

    The tutorial we needed on FCC.

  • @promiseihunna4714
    @promiseihunna4714 Před rokem

    Thank you Vlad, I enjoyed this. It was more than an eye opener.

  • @ddoddiii
    @ddoddiii Před 4 měsíci

    Loved every minute of this course ! Really thumbs up and lots of respect to the effort put in to make this awesome course. Thank you ☺

  • @firdavsergashev2132
    @firdavsergashev2132 Před 2 lety

    Thank u man, your teaching style is excellent. It was too easy to understand

  • @kartikwatts7813
    @kartikwatts7813 Před 2 lety +2

    Thank you thank you so much, May God bless you. By far the most amazing tutorial I ever got to learn from.

  • @user-zs3oi5rt7o
    @user-zs3oi5rt7o Před rokem

    Thanks for this tutorial video.
    It helps me to start with NestJS and i think the way you explained it really awesome.

  • @juliotavares3268
    @juliotavares3268 Před 2 lety +2

    Awesome Tutorial, NestJS maybe the best NodeJS Framework nowadays

  • @jkenjayev
    @jkenjayev Před rokem

    Thank you, Vlad!
    Every thins is explained very nice.

  • @danial-dvd
    @danial-dvd Před 5 měsíci

    amazing course ! thanks a lot Vlad :) ...i recommend this video to anyone who wants to learn the basic concepts of nest clearly

  • @shilongshu7922
    @shilongshu7922 Před 2 lety

    the most perfect tutorial of nestjs in the world!

  • @samz.1
    @samz.1 Před 9 měsíci

    Very good one. I like when explain each small thing simply

  • @cloudlog9102
    @cloudlog9102 Před rokem

    Thank you! This is really a fantastic understandable course! Thank you so much

  • @xaxaxa1974
    @xaxaxa1974 Před 2 lety +2

    Nice course! Thanks, Vladimir and FCC

  • @MathiasEngineer
    @MathiasEngineer Před 2 lety +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!

    • @MathiasEngineer
      @MathiasEngineer Před 2 lety +1

      Also to have this free is great! I pay 40$ a month for frontendmasters

  • @josedomingoscassuandonge840

    Hi, when i came here to watch this tutorial come having nothing knowlage about nest js, but now i'm very happy full cause i learn it in the best way with this tutorial thanks so match

  • @rohanrajpal
    @rohanrajpal Před rokem +1

    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

  • @AndRedRosesToo273
    @AndRedRosesToo273 Před 2 lety

    the pattern is very spring framework alike, excellent tutorial!

  • @maddyIncubus
    @maddyIncubus Před 5 měsíci

    Dude.. great tutorial man!!! loved the details, content and overall story of the tutorial!!

  • @gogencheg
    @gogencheg Před rokem

    A few beers and 2 nights and i mastered NESTJS. Thanks!

  • @dawid_dahl
    @dawid_dahl Před rokem

    Wonderful teaching, I am so grateful for this. Thanks! 🙏🏻

  • @codiersklave
    @codiersklave Před rokem

    Incredible work. Thank you very much!

  • @ogunjobiforex
    @ogunjobiforex Před rokem

    This is much much appreciated! Awesome way of teaching by doing

  • @diegomx80
    @diegomx80 Před rokem +1

    Awesome work! Thanks a lot for sharing this knowledge!

  • @JambeDeBwa
    @JambeDeBwa Před rokem +1

    Great video, thanks ! Quick question, if I'm working on a projet that doesn't include any business logic but just act as an API to call and return stuff from a SDK, are unit tests usefull ? I feel like in this case e2e tests might just be enough.

  • @habibielcomedor9158
    @habibielcomedor9158 Před rokem +2

    Thanks for the video, bro! As a note for improvement, the intricacies of the framework are not easy at all, especially for beginners, as the video is intended. I think the delivery of most concepts could be slower and more thoroughly explained.

  • @huseyinozgul8173
    @huseyinozgul8173 Před rokem

    amazing course with Vlad's explanation

  • @bugraotken
    @bugraotken Před 9 měsíci +3

    I have watched and also coded with tutors like 400 tutorials till today (I am counting the number =)) but this tutorial was one of the best tutorials I have ever watched by so far. Very neat, crystal, no questions in my mind, nothing like "tutor does something but you fail with the same code", very helpful. Thanks god there are streamers like Vlad!

  • @shwackthenoobsac
    @shwackthenoobsac Před 2 lety

    This is an amazing tutorial. Thank you!

  • @VforVanish
    @VforVanish Před 2 lety

    I learned a lot, thanks Vlad!

  • @christopheanfry2425
    @christopheanfry2425 Před rokem

    Very very nice tutorial. Just one regret is that there are too much testing for beginner tutorial, would have prefered to see a lit bit of client integration to display the CRUD oprations, but it doen't take out the amazing job done by Vlad. Thank you

  • @alexandreoutystems
    @alexandreoutystems Před rokem

    Impressive, excellent tutorial. I'm in love with Nestjs. Thanks for help, thanks fot the content.

  • @yadneshkhode3091
    @yadneshkhode3091 Před 2 lety

    Thank you this helped a lot i joined new company and they were using nest js and I wanted to learn if quickly and start working this helped a lot... Thank you 💘💘💘

  • @MrGameTVCity
    @MrGameTVCity Před 9 měsíci

    Thanks for the guide! I learn Nest and this course is good for understanding and first experience

  • @nikhilranjankumar4151
    @nikhilranjankumar4151 Před 2 lety +1

    Was waiting for this one

  • @costa2016
    @costa2016 Před rokem

    That was extremely helpful! Thanks for the effort!

  • @undocumentox
    @undocumentox Před rokem

    Thanks a lot , this is one of the greatest videos I have ever seen, now I have a good knowes of Nestjs, thanks.