Build an API you can trust
TaskBox is a small, complete API that gives you room to practice the decisions that matter in real services: authentication, authorization, persistence, pagination, and webhooks.
Start with environment setup, complete Prerequisite 00: Postman foundations, then follow the numbered chapters in order. The required prerequisite appears before Lab 01 and brings the complete course to 43 hours. The course uses a deliberately small reference application so each boundary is inspectable: HTTP contracts at the edge, domain rules in the middle, and replaceable adapters at the infrastructure boundary.
What you will build
Section titled “What you will build”- A FastAPI service with a clean, versioned HTTP surface.
- JWT authentication and project-scoped roles.
- SQLite-first development with a PostgreSQL and Docker lab.
- Cursor pagination and signed webhook imports.
The lessons are designed to be read alongside the repository code. Each chapter names the contract first, then leaves you with a focused implementation exercise.
Persistence path
Section titled “Persistence path”The default path is SQLite-first: run locally with one durable file, inspect
constraints and transactions, and practice migrations without starting a
database service. Then complete the separate PostgreSQL transition lab in
course/labs/07-operations/, where Docker Compose adds a healthy database
dependency and a disposable PostgreSQL instance. Root Compose is intentionally
different: it runs the SQLite app on local port 8000 with a named volume.
Local site links begin at /; the deployed GitHub Pages site is prefixed with
/API/.
Learning outcomes
Section titled “Learning outcomes”By the end, you should be able to explain a versioned API contract, enforce project-scoped roles, persist and paginate data safely, verify signed imports, and describe a migration and readiness sequence suitable for deployment.