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
❤️ Try interactive JavaScript courses we love, right in your browser: https://scrimba.com/freeCodeCamp-JavaScript (Made possible by a grant from our friends at Scrimba)
⭐️ 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