Small demo app to demonstrate the CDC pattern for serving aggregated data.
Curious for more? Here are 3k words about the project.
Web app
- Python back-end: FastAPI server
- Front-end: htmx + Tailwind
Infrastructure:
- PostgreSQL
- Debezium
- Apache Pulsar
- Docker Compose
Installing mise is recommended but not required.
With mise:
docker compose up -d
mise run server
mise run workerWithout:
docker compose up -d
uv run -- uvicorn aggregations.webapp.app:app --reload
uv run -- python -m aggregations.aggregator.workerA git hook is also provided to ensure committed code is well formatted and checked, it can be installed with mise run hooks or by copying the files in the hooks directory to .git/hooks.