Section 6: RESTful API Design Principles
- Naming resources and choosing the right HTTP methods and status codes
- Pagination, filtering, sorting and a standard error response format
- API versioning and documenting the API with OpenAPI
- Lab: design every Resource and Booking endpoint before writing code
Section 7: Hono on Node.js
- App structure, routing, middleware and context
- Splitting code into route, service and repository layers
- Using the Zod validator on request bodies, queries and params
- Lab: build the Resource API with validation from the shared schema
Section 8: PostgreSQL 18 and Prisma ORM 7
- Designing one-to-many and many-to-many relationships
- The Prisma schema, migrations and seed data
- What changed in Prisma 7, where Prisma Client no longer relies on the Rust query engine
- Lab: run PostgreSQL in Docker, migrate and seed meeting rooms and pool cars
Section 9: Efficient Queries
- Selecting only the fields you need, including relations and avoiding N+1 queries
- Transactions for work that must succeed together
- Creating indexes that match search patterns
- Lab: count queries before and after fixing an N+1 problem on the booking list
Section 10: Workshop Day 2: Error Handling, Logging and the BookingNest API
- A global error handler and separating user errors from system errors
- Structured logging and request IDs
- Workshop: build the Resource and Booking API with full CRUD, search and date filters
- Workshop: test every endpoint with an HTTP client and publish the OpenAPI docs for the frontend team