Skip to content

Infrastructure

This section documents the runtime infrastructure that the backend service depends on. These are the cross-cutting components that every domain service shares — the wire-protocol clients, the persistent stores, the background execution engine, and the dependency-injection harness that ties them together.

  • Database — Postgres + PostGIS + GORM, connection pool, migrations, timezone handling
  • Redis — cache, rate limiting, presence, queue backend, scheduler storage
  • Object Storage — S3 / MinIO, avatars, chat images
  • WebSocket Hub — connection lifecycle, rooms, broadcast, ping/pong
  • Workers & Scheduler — Asynq queues + distributed cron with leader election
  • Wiring (DI) — Google Wire provider sets and codegen
  • Email — transactional email via external API + templates

Every page below is grounded in code paths under backend/internal/ and is the source of truth for how the corresponding subsystem is configured, extended, and operated.