Outline
What this site covers and how it's organized — 27 chapters across 12 parts, both stacks against one contract.
This site teaches REST API design against a single OpenAPI contract for a shipping and cargo booking domain. Every hands-on chapter ships the same example in both Quarkus and Python/FastAPI, and CI validates both stacks against the contract so they never drift. The full arc is below; the build & iteration plan, coverage matrix and domain glossary (linked in the footer) carry the detail.
Legend: each chapter below is tagged [H] hands-on (runnable in both stacks), [C] concept, or [C+H] where a concept chapter also ships a runnable example.
Part 0 — Prerequisites & the Lab
Part 1 — Foundations & the decision lens
- Ch1. APIs & patterns — [C]
- Ch2. The API decision framework — [C]
Part 2 — Designing resources with a contract
- Ch3. Designing around resources — [C]
- Ch4. Contract-first with OpenAPI — [H]
- Ch5. HTTP methods & the idempotency matrix — [H]
Part 3 — HTTP semantics done right
Part 4 — Collections at scale
- Ch8. Filtering, projection & pagination — [H]
- Ch9. Sub-resources — [C+H]
Part 5 — Asynchronous work & jobs
Part 6 — Evolution & lifecycle
- Ch12. HATEOAS — [H]
- Ch13. Soft deletion & GDPR purge — [H]
- Ch14. Versioning — [H]
Part 7 — Large payloads & streaming
- Ch15. Large binary resources & Range requests — [H]
- Ch16. Streaming deep-dive — [H]
- Ch17. Cross-protocol choices — [C]
Part 8 — Performance & transport
Part 9 — Multi-protocol contracts & framework deep-dives
- Ch20. OpenAPI in depth — [H]
- Ch21. Multi-protocol contracts — [H]
- Ch22. Quarkus REST in depth — [H]
- Ch23. FastAPI in depth — [H]
Part 10 — Testing
- Ch24. Testing REST APIs — [H]
Part 11 — Running it: Docker → minikube → CRC
- Ch25. Local with Docker/Podman Compose — [H]
- Ch26. Kubernetes on minikube — [H]
- Appendix A. OpenShift Local (CRC) — [H]
Part 12 — Complete project
- Ch27. Complete project — [H]
Chapters are authored in release increments (r01–r06); see the iteration plan for what lands when. This page fills in as chapters are written.