Skip to content
All projects

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

Architecture diagram: Real-Time Shop Data StreamingSOURCEINGESTSTOREEXPOSETicket generatorServeringestion APIKafkaSaverPostgreSQLNotifierstock < 10%Admin APIstats · stock · alertsPrometheus + Grafana

built by me teammate

  1. 01

    Kafka backbone - the ingestion server receives tickets and publishes them to Kafka.

  2. 02

    Storage - PostgreSQL for tickets, stock and alerts.

  3. 03

    Orchestration - docker-compose for every service (Zookeeper, Kafka, PostgreSQL, apps, monitoring).

  4. 04

    Observability - Prometheus and Grafana.

  5. 05

    Admin API - exposes tickets, sales per store, current stock and low-stock alerts (<10% threshold).

04 In action

  • Kafka broker logs of the streaming pipeline
  • Grafana service logs of the monitoring stack

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

Copied