live demo

wb-cdc-analytics

World Bank REST API to PostgreSQL, streamed out of the write-ahead log by Debezium into ClickHouse, modelled with dbt into an analytics mart and a machine-learning feature table. Orchestrated by Airflow, monitored by Prometheus and Grafana.

This is a running instance, not a screenshot. Every number below is being computed live from 2,970 observations that travelled the whole pipeline. The repository is at github.com/matidesalegn/wb-cdc-analytics, and the design report is docs/design-report.md.

Start here

Redpanda Console login required
The best single view of what CDC actually means. Topics, then wbcdc.wb.observation, then click any message: the row plus __op, __deleted and __lsn. The Connect tab shows the Debezium connector and its task state.
Grafana login required
The Pipeline health dashboard, provisioned from the repository with no manual import. Nine panels: CDC lag, replication-slot WAL retention, change events by operation, rows per layer, source-to-warehouse parity, quality gates, freshness, ClickHouse parts, ingestion outcomes.

Then, if you want to dig

ClickHouse Play login required
A SQL editor served by the warehouse itself. Try SELECT * FROM ops.cdc_freshness, or SELECT count() FROM marts.fct_indicator_observation.
pgAdmin login required
The OLTP source: wb.country, wb.indicator, wb.observation, plus pg_replication_slots where the CDC slot lives. The server is pre-registered.
Airflow login required
Two DAGs, both import-clean and unpaused: wb_cdc_pipeline with 12 tasks and cdc_health_monitor with 4. Trigger the first and watch it go green with the watcher leaf skipped, which is how a run containing a failed task cannot read as success.
Prometheus login required
Ten alert rules, each with a for: duration and a runbook annotation, and all of them unit-tested by promtool test rules in CI. Four scrape targets, no exporter sidecars.

Or run it yourself, which is the point

The brief asked for one command. This is it, and it needs nothing but Docker:

git clone https://github.com/matidesalegn/wb-cdc-analytics.git
cd wb-cdc-analytics
make demo

About 50 seconds with images cached. It runs preflight checks, generates secrets, starts the stack, applies all DDL, registers the CDC connector, ingests from the API, waits for the change events to land, builds and tests the dbt models, and prints a row count for every stage. make demo-offline replays committed fixtures and needs no network at all.

On this environment. It is a demo box, deliberately short-lived, and it will be torn down after the review. Everything here is public World Bank data. Credentials are randomly generated per deployment and are in the covering email. The two services that ship no login of their own, Prometheus and Redpanda Console, sit behind HTTP basic authentication; the rest authenticate natively.