Service Map

Complete service catalog with ports, purposes, dependencies, databases, and health endpoints

Service Catalog

#ServicePortDatabasePurposeHealth Endpoint
1backend8000appdbAuth, Users, Tenants, RBAC, Billing/api/v1/health/
2survey-service8001survey_dbSurvey design, versioning, XLSForm/api/v1/health
3data-service8002data_dbResponse storage, attachments, exports/api/v1/health
4sync-service8003sync_dbODK device sync, conflict resolution/api/v1/health
5analytics-service8004analytics_dbDashboards, reports, widgets/api/v1/health
6workspace-service8006workspace_dbWorkspaces, projects, members/api/v1/health
7webhook-service8007webhook_dbWebhook subscriptions, deliveries/api/v1/health
8odk-bridge8009odk_dbODK Aggregate compatibility/health
9form-service8010mquad_forms_dbForm rendering, validation, drafts/health
10media-service8011media_dbFile upload, S3/MinIO storage/api/v1/health
11notification-service8012notification_dbEmail/SMS/Slack notifications/api/v1/health
12audit-service8013audit_dbAudit logging, compliance/api/v1/health
13feature-flags-service8014feature_flags_dbFeature toggles, A/B testing/api/v1/health/
14scalar-service8030—API documentation aggregator/health

Removed Services: reporting-service (8005), search-service (8008), cron-service (8015).

Dependencies

Diagram; its source is available below
Diagram source
graph LR
    subgraph "Data Stores"
        PG[(PostgreSQL)]
        RD[(Redis)]
        MN[(MinIO)]
    end

    Backend --> PG & RD
    Survey --> PG & RD
    Data --> PG & RD
    Sync --> PG & RD
    Analytics --> PG & RD
    Workspace --> PG & RD
    Webhook --> PG & RD
    ODK --> PG & RD
    Form --> PG & RD
    Media --> PG & RD & MN
    Notification --> PG & RD
    Audit --> PG & RD
    FeatureFlags --> PG & RD

    Webhook -.-> Survey & Data
    ODK -.-> Survey & Data
    Form -.-> Survey & Data

Celery Beat Schedulers

ContainerServiceTasks
backend-beatbackendCheck expired trials (hourly)
notification-beatnotification-serviceRetry failed notifications (every 2m)
webhook-beatwebhook-serviceRetry pending webhooks (every 1m)
analytics-beatanalytics-serviceAggregate surveys (hourly), cleanup snapshots (daily 2AM), daily summary (midnight)

Infrastructure Services

ServiceImagePurpose
postgrespostgres:15Primary database (max 500 connections)
redisredis:latestCache & Celery broker
miniominio/minioS3-compatible object storage
traefiktraefik:v3.0API gateway & reverse proxy
prometheusprom/prometheus:v2.48.0Metrics collection
grafanagrafana/grafana:10.2.0Metrics visualization
lokigrafana/loki:2.9.0Log aggregation
jaegerjaegertracing/all-in-one:1.52Distributed tracing
fake-smtpjcalonso/mailhog:v1.0.1Email testing (SMTP)