Capstone project for System Design Case Studies
Design review pack: proof of delivery for the Rider app
Mangrove Market's 600 riders deliver about 60,000 app orders a day, and many customers pay in cash at the door. Today a rider taps "Delivered" and nothing else is recorded, so disputes and missing cash take days to sort out. Design proof of delivery: the Rider app records each handover (a photo, the time and place, and any cash collected) even on patchy mobile data, the store sees every delivery confirmed within minutes, and each store can reconcile every rider's cash at the end of the shift. Ken, the engineering manager, wants the pack ready for a real design review next week, with Imran as product manager and Nadia as decider.
What you hand in
- A design doc of 3 to 6 pages using the template from Running a design review: requirements, numbers with arithmetic, API, data model, one architecture diagram with labelled arrows, deep dives, alternatives and rollout
- A failure table with at least 8 rows, covering the phone, the network, your API, the database, object storage and a resent upload
- One ADR for your most important decision, with the options, consequences and revisit triggers
- SQL for the key tables and constraints, plus the statement that makes a resent delivery confirmation harmless and the query that finds cash mismatches
- A short review invite with the ask, the decider and what is out of scope
Check your work
Tick each item when your project meets it. Be strict: this is the rubric the reviewer uses.
- Every non-functional requirement has a number and a place where it is measured
- The numbers show their arithmetic, including deliveries per second at a festival peak and photo storage per day
- Each delivery event has an id made on the phone, and a unique key makes a resend harmless
- The design says exactly when an event counts as received, and the app keeps working offline until then
- Cash is stored in integer cents and reconciles per rider per shift, with a query that lists mismatches
- Delivery states are written as a state machine with the allowed moves, enforced in one place
- The failure table includes the case where the upload worked but the reply was lost
- The ADR names at least two options and a concrete condition for revisiting
0 of 8 checked
Model answer
The model answer opens once your capstone passes the review, so you can compare your work with an outline of a strong submission.
Hand in your capstone
Your links are checked automatically, then the work is scored against the rubric above, item by item, with comments. A pass counts toward the course certificate and shows on your profile.
Loading…