MinIO Object Store
The file storage system. Holds all raw, cleaned and summarised research data organised in three buckets — Bronze, Silver and Gold. Works like an S3-compatible hard drive inside the server.
Metabase BI Dashboard
The reporting interface. Institutions, researchers, donors and administrators view KPI dashboards, satisfaction scores, geographic coverage and data quality reports here.
MinIO Ingest Service
The ingestion bridge. When a researcher submits data on Dacoris, this service polls every 5 minutes, downloads the file, converts it to Parquet and stores it in the Bronze bucket.
dbt + DuckDB
The transformation engine. Reads Bronze data, builds 23 models across Silver and Gold layers — 2 survey-specific Silver tables and 21 Gold KPI models — and writes to DuckDB. Must always be running — Airflow executes dbt every 30 minutes via this container.
Apache Airflow
The pipeline scheduler. Runs 8 automated tasks every 30 minutes — seed mappings, dbt run (23 models), refresh PostgreSQL Gold, export to MinIO Silver/Gold, sync Metabase schema, column alerts and completion log. PostgreSQL backend with LocalExecutor.
Institution Research Dashboard
Survey findings, geographic coverage, gender distribution, satisfaction scores and data quality for all surveys submitted by institution researchers.
Researcher Dashboard
My submissions, data quality scores, respondent distribution by county and benchmarking against national averages.
Donor Dashboard
Total beneficiaries reached, counties covered, research areas funded, geographic reach and data submission accountability.
Admin Dashboard
Pipeline health, ingestion success rates, bronze file registry, researcher activity and full audit trail of all ingested data.
Bronze — Raw Survey Files
Download original Parquet files as submitted by researchers. Available as Parquet or CSV.
Silver — Cleaned Survey Data
Download cleaned and standardised survey datasets — one file per survey family. Available as Parquet or CSV.
Gold — KPI Aggregates
Download aggregated KPI tables ready for analysis in R, Python or Excel. Includes satisfaction scores, geographic distribution, demographics and programme analysis.