NestJs Course for Beginners – Create a REST API

freeCodeCamp.org

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: https://github.com/vladwulf/nestjs-api-tutorial

✏️ Course from Vladimir Agaev. Check out his YouTube channel: https://www.youtube.com/channel/UCjmouj0JizYt0qTI53TAtFg

⭐️ 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: https://www.freecodecamp.org

Read hundreds of articles on programming: https://freecodecamp.org/news