Goal
Define your airline backend's external API contract and expose the
documentation from your backend service at /docs.
Use OpenAPI for the contract.
Due: Thursday, May 21 · 11:59 PM
Required Deliverables
-
Publish OpenAPI documentation for your backend at
/docs. - Define only the external-facing APIs that other systems would use to shop for flights, view flight details, and perform any other airline-facing operations you choose to support.
- Create a full distributed system diagram in Excalidraw showing the major services, queues, databases, and integrations in your team architecture.
Save the
.excalidraw design file in your backend repo and
push it to GitHub.
API Scope
Each team has flexibility in the exact request/response shape. You are free to define your own interface and response model.
I strongly recommend that teams hold design meetings and agree on a
normalized external contract so adoption is easier across the class,
but this is not required.
Minimum Expectations
- Your backend service exposes
/docssuccessfully. - The OpenAPI contract is valid and readable.
- The contract describes external-facing shopping APIs.
- The Excalidraw diagram covers the full distributed system.
Suggested Endpoints
These are examples only; you may define your own shape.
GET /flights/searchGET /flights/{id}POST /bookings
Grading Breakdown
| Criterion | Points |
|---|---|
backend-external-api-contract | 30 |
distributed-system-diagram | 20 |
live-docs-endpoint | 15 |
in-class-instructor-assessment | 15 |
| Total | 80 |