Online Food Ordering System Architecture

Focus: Menu + Orders + Delivery. Key areas: React Native, GraphQL, OAuth2.

Use this as a block diagram of the system when explaining architecture.

Preview
Edit this example
Diagram caption: Online Food Ordering System Architecture (Menu + Orders + Delivery) has 4 layers: Customer & Partner Apps, Order & Payment Services, Data & Integration, Operations & Observability.

Prompt

System architecture diagram for an online food ordering system. Customers browse menus in a mobile app, restaurants manage orders in a dashboard, and couriers use a driver app for delivery. Core services should include menu/catalog, order processing, payment, and dispatch. Use PostgreSQL for transactions, Redis for cache, and Kafka for order events. Integrate with a maps service for ETA and tracking. Add fraud checks, rate limiting, and observability.
Highlights
  • Layer details · Order & Payment Services: Modules include Order Service, Menu & Catalog, Payment & Fraud.
  • Layer details · Customer & Partner Apps: Modules include Customer Mobile App, Restaurant Dashboard, Courier App.
  • Module responsibilities · Customer & Partner Apps / Customer Mobile App: Capture orders; Show ETAs; Handle payments

Overview

Online Food Ordering System Architecture (Menu + Orders + Delivery) has 4 layers: Customer & Partner Apps, Order & Payment Services, Data & Integration, Operations & Observability.

Layer details

Show all (4)
  • Customer & Partner Apps: Modules include Customer Mobile App, Restaurant Dashboard, Courier App.
  • Order & Payment Services: Modules include Order Service, Menu & Catalog, Payment & Fraud.
  • Data & Integration: Modules include Transactional Database, Cache & Session Store, Event & Tracking Bus.
  • Operations & Observability: Modules include Maps & Routing, Monitoring & Alerts, Security Controls.

Module responsibilities

Show all (12)
  • Customer & Partner Apps / Customer Mobile App: Capture orders; Show ETAs; Handle payments
  • Customer & Partner Apps / Restaurant Dashboard: Manage fulfillment; Update availability; Confirm handoff
  • Customer & Partner Apps / Courier App: Accept jobs; Update status; Capture signatures
  • Order & Payment Services / Order Service: Create orders; Coordinate updates; Emit events
  • Order & Payment Services / Menu & Catalog: Serve menus; Apply pricing; Sync updates
  • Order & Payment Services / Payment & Fraud: Authorize payments; Detect fraud; Handle disputes
  • Data & Integration / Transactional Database: Guarantee ACID; Support reporting; Maintain backups
  • Data & Integration / Cache & Session Store: Reduce latency; Protect databases; Store ephemeral data
  • Data & Integration / Event & Tracking Bus: Decouple services; Buffer spikes; Drive notifications
  • Operations & Observability / Maps & Routing: Provide live tracking; Optimize delivery; Notify arrivals
  • Operations & Observability / Monitoring & Alerts: Monitor health; Detect incidents; Trigger response
  • Operations & Observability / Security Controls: Protect APIs; Secure tokens; Track access

Key flows

Show all (3)
  • Order flow: customers place an order, Order Service creates the record in PostgreSQL, publishes events to Kafka, and the restaurant dashboard receives real-time updates.
  • Delivery flow: courier app receives dispatch tasks, location updates stream to the tracking bus, and customers see live ETAs via the maps service.
  • Payment flow: Payment Service authorizes charges, runs fraud checks, and issues refunds if orders are cancelled.