Draft

svc-datahub — GeoGit Data Hub Backend

Clientnovameraactive

Express + TypeScript + PostgreSQL backend for GeoGit ("GitHub for geo-data") — the versioned, provenance-first data platform for Novamera project files. Manages ingestion, auto-sort, versioning, and project history so any team member can understand in under a minute what data exists and why.

flowchart LR
    FE[fe-datahub
React SPA] --> API[svc-datahub
Express on Fargate] API --> DB[(PostgreSQL
Aurora)] API --> S3[(S3
file storage)] API --> NOTIF[Notifications
email / webhook] style API fill:#EDEDFF,stroke:#3B54F7 style DB fill:#F3EDFF,stroke:#8A54E8 style S3 fill:#F3EDFF,stroke:#8A54E8

Core capabilities: file ingestion pipeline (upload → auto-classify → version), project data library, role-based access (Novamera crew + external clients), change history with provenance.

  • Stack: Node.js · Express · TypeScript · PostgreSQL (Aurora) · S3
  • Auth: JWT; role hierarchy — project-scoped permissions for field, ops, and client archetypes.
  • Design principles: Context is King (file + conversation captured together) · Wait Without Forgetting (async ingestion, graceful large-file handling) · Be The Librarian (auto-sort so uploaders don't bear classification burden).
  • Built on: the ecs-service pattern.
  • Envs: dev1.novamera.io/datahub · stg1.novamera.io/datahub · app.novamera.io.
  • Specs: full product design lives in novamera.svc-datahub under docs/ (vision, user roles, epics, data contracts, arch decisions, glossary).