Skip to content

System Architecture

SteamDeals separates public reads from ingestion and user workflows. The API Gateway terminates client traffic and enforces policy; services communicate over mTLS gRPC and publish domain events to the message bus.

flowchart TB
  Client[REST clients / SDKs] --> Gateway[API Gateway]
  Client --> RT[Realtime Gateway]
  Gateway --> Identity[Identity Service]
  Gateway --> Catalog[Catalog Service]
  Gateway --> Pricing[Pricing Service]
  Gateway --> Wishlist[Wishlist Service]
  Gateway --> Export[Export Service]
  Connectors[Store connectors] --> Integration[Integration Service]
  Integration --> Bus[(Event bus)]
  Bus --> Catalog
  Bus --> Pricing
  Pricing --> Deals[Deals Engine]
  Deals --> Bus
  Bus --> Notify[Notification Service]
  Bus --> RT
  Bus --> Analytics[Analytics Service]

The gateway reads from service APIs only. It never queries a connector directly. This boundary protects client latency from upstream store instability and permits replayable ingestion.

Read services and dependencies and the data flow for operational detail.