Streaming Platform · 2-person team
Real-Time Shop Data Streaming
Sales tickets streamed through Kafka, stored, monitored and exposed live.
- sales pipeline on a Kafka backbone
- Real-time
- sales pipeline on a Kafka backbone
- stock threshold triggering alerts
- <10%
- stock threshold triggering alerts
- docker-compose up to run the platform
- 1 command
- docker-compose up to run the platform
01 Context
A pipeline simulating shop sales in real time: tickets are generated continuously, flow through Kafka, get stored in PostgreSQL and are exposed through APIs. The whole platform starts with a single docker-compose command.
02 Problem
Real-time sales data is only valuable if the backbone never drops events, the services are reproducible to run, and the team can see stock levels, per-store sales and low-stock situations as they happen.
03 What I built
built by me teammate
- 01
Kafka backbone - the ingestion server receives tickets and publishes them to Kafka.
- 02
Storage - PostgreSQL for tickets, stock and alerts.
- 03
Orchestration - docker-compose for every service (Zookeeper, Kafka, PostgreSQL, apps, monitoring).
- 04
Observability - Prometheus and Grafana.
- 05
Admin API - exposes tickets, sales per store, current stock and low-stock alerts (<10% threshold).
04 In action
Screenshots from the project repository.
05 Results
- sales pipeline on a Kafka backboneReal-time
- stock threshold triggering alerts<10%
- docker-compose up to run the platform1 command
06 My part
Me
- docker-compose orchestration
- Kafka & PostgreSQL backbone
- Prometheus & Grafana
- Ingestion server
- Admin API
Teammate
- Ticket generator
- Saver (Kafka → PostgreSQL consumer)
- Stock notifier
07 What I learned
- Kafka decouples producers from consumers: ingestion keeps flowing even when storage or alerting services lag behind.
- docker-compose turns a multi-service platform into something anyone can start with a single command.
- Instrumenting a real-time system from day one (Prometheus, Grafana) is the only way to see what it is actually doing.
- Clear boundaries between platform and application services make a two-person streaming project manageable.
Next case study
Materials Similarity Search

