
🍔 Food Delivery & QSR · C4 Architecture · Pro
A cloud kitchen that runs several virtual brands: orders from aggregators, a kitchen display system, inventory and dispatch.
C4 Architecture diagrams are part of Pro. Anyone can view this one; generating and editing it needs Pro.
Drawing diagram…
Cloud kitchen platform: orders arrive from food delivery aggregators (Swiggy, Zomato) and the brand's own app through an order aggregation service. A kitchen display system (KDS) routes items to stations. An inventory service deducts stock per recipe and raises purchase orders. A dispatch service hands orders to aggregator riders. A menu service pushes menus and prices to all channels. Data in PostgreSQL.
C4Container
title Cloud Kitchen Platform
Person(chef, "Kitchen Staff", "Prepares orders")
Person(mgr, "Kitchen Manager", "Menus and stock")
System_Ext(agg, "Delivery Aggregators", "Swiggy, Zomato")
System_Ext(own, "Own Brand App", "Direct orders")
System_Boundary(ck, "Cloud Kitchen Platform") {
Container(orders, "Order Aggregation", "Node.js", "One queue for all channels")
Container(kds, "Kitchen Display System", "React", "Station tickets")
Container(menu, "Menu Service", "Node.js", "Brands, items, prices")
Container(inv, "Inventory Service", "Python", "Recipes and stock")
Container(dispatch, "Dispatch Service", "Node.js", "Rider handover")
ContainerDb(db, "Kitchen DB", "PostgreSQL", "Orders and stock")
}
Rel(agg, orders, "New orders")
Rel(own, orders, "New orders")
Rel(orders, kds, "Tickets")
Rel(chef, kds, "Bumps items")
Rel(kds, inv, "Deduct per recipe")
Rel(kds, dispatch, "Order ready")
Rel(dispatch, agg, "Rider handover")
Rel(mgr, menu, "Updates menu")
Rel(menu, agg, "Syncs menu")
Rel(orders, db, "Stores")A Swiggy/Zomato-style food delivery platform: customer, restaurant and rider apps, and the services that match orders, riders and payments.
Everything that happens between a customer tapping Place Order and the food arriving: payment, restaurant acceptance, rider assignment, pickup and delivery.
Every status of a food delivery order, from placed to delivered, including restaurant rejection, no rider and customer cancellation.
How orders from dine-in, takeaway and delivery apps flow through a restaurant kitchen display system to the pass and out.
A schema for a food delivery platform: restaurants, menus, items with add-ons, customers, orders, order items and riders.
How a food delivery platform scales for lunch and dinner peaks: pre-scaling, autoscaling services, sharded databases and a surge-protected dispatch.