← InfraDraft

Geospatial

Design a Food Delivery App (DoorDash/UberEats state machine orchestration)

A three-sided marketplace orchestrating restaurant order state, real-time courier dispatch, and live delivery tracking as one state machine.

Open and Simulate this Architecture in InfraDraft

Core Architectural Components

Order State Machine

Drives an order through placed → preparing → picked-up → delivered, triggering side effects at each step.

Restaurant Order Ingestion Service

Delivers new orders to the restaurant's POS/tablet in real time.

Courier Dispatch & Matching Service

Assigns the best available courier to a ready order.

Real-Time Courier Location Tracking

Streams live courier position to both the customer and dispatch logic.

ETA & Routing Service

Computes pickup and delivery time estimates.

Menu/Catalog Service

Per-restaurant items, prices, and availability.

Payment & Payout Service

Splits payment between platform, restaurant, and courier.

Push Notification Service

Keeps customer, restaurant, and courier in sync on order status.