UXDL Docs

System Overview

High-level service map, data flow, and integration boundaries.

This page provides a high-level view of the system architecture and how services interact.

Service map

ServiceResponsibilityOwner
Web PortalUser-facing Next.js appFrontend
Admin ConsoleInternal Angular adminInternal Tools
Backend APIREST API, business logicPlatform
Worker ServiceBackground jobs, queuesPlatform
Mobile AppReact Native iOS/AndroidMobile

Data flow

  1. Clients (web, mobile, admin) authenticate via Cognito
  2. API Gateway routes requests to backend services
  3. Backend API handles business logic, reads/writes PostgreSQL
  4. Worker Service processes async jobs from Redis queues
  5. Integrations connect to Stripe, analytics, and external APIs

Media upload path

  1. Client requests signed URL from API
  2. API validates user permissions and file policy
  3. Client uploads directly to object storage
  4. Worker scans media for viruses and optimizes
  5. CDN publishes the optimized asset

Infrastructure

  • Compute — AWS ECS (Fargate) behind Application Load Balancer
  • Database — PostgreSQL (RDS) with read replicas
  • Cache — Redis (ElastiCache)
  • Storage — S3 with CloudFront CDN
  • Notifications — FCM (push), AWS SES / SendGrid / Brevo (email)
  • CI/CD — GitHub Actions → ECR → ECS (Alpha → Beta → Prod)
  • Monitoring — OpenTelemetry, Sentry, Axiom