- Fastify - Web server
- Prisma - Database ORM
- Zod - Request and response validation
- Swagger - API docs
- TypeScript - Types & other cool stuff
- Postman - Make API requests
- Prisma studio - View data
- PostreSQL or MySQL - Database
- Code editor - Edit your code
- Create a user
- Login
- List users
- Create a product
- List products
- Authentication
- Request & response validation
- Swagger docs
- Demonstration
- Code walk-through
- Bootstrap application
- Setup Prisma
- Create Fastify instance
- Create user
- Hash password
- List users
- Login
- fastify-jwt setup
- Create product
- List products
- Node Tap - Test framework
- fastify.inject - Inject HTTP requests
- faker-js - Generate test data
- ts-mock-imports - Mock imports
- How to test your API end-to-end
- How to inject http requests to your Fastify application
- How to mock function calls
- How to test with a test database