Logo Lanfrica

mbalinonhlanhla684/sa-loadshedding-streaming

Domain:

digital infrastructureenvironment and energy

Record type:

softwaretools
Creator:
mba
Host:
Real-Time South African load-shedding monitor built with Kafka,Node.js,and React # SA Load-Shedding Real-Time Monitor A real-time streaming dashboard that tracks South African load-shedding status, built with Apache Kafka, Node.js, WebSockets, and React — fully deployed to the cloud. **Live Dashboard:** dashboard-production-3c67.up.railway.app **Repository:** github.com **Author:** Nonhlanhla Mbali Ntuli — GitHub · LinkedIn --- ## What this project does This dashboard simulates the kind of real-time monitoring system a utility company, municipality, or civic-tech platform might use to track load-shedding across South Africa. It combines: - **A real external data source** — the EskomSePush API, which provides live South African load-shedding status. - **A Kafka-based streaming pipeline** — a producer publishes updates to a Kafka topic, a consumer subscribes and re-broadcasts them over WebSockets, and the React frontend renders changes the instant they happen — no polling. - **A full dashboard application** with 9 functional views, an interactive live map of South Africa's 9 provinces, and real-time alerts. - **Full cloud deployment** — every service (Kafka, producer, consumer, backend, dashboard) runs live on Railway, not just locally. ## Features - **Overview** — national load-shedding stage (real data), live province map, stage history chart, upcoming schedule, recent alerts - **Live Map** — interactive SVG map of South Africa, click any province for its current stage - **By Province** — grid view of all 9 provinces with current stage - **Schedules** — full day's load-shedding schedule - **Alerts / Notifications** — live feed of stage changes as they stream in - **Insights** — summary statistics (average stage, highest stage, provinces at Stage 0) - **History** — chronological log of past stage changes - **Settings** — account and data source information - Live clock, notification badge, and profile dropdown - Toast notifications on every real-time update ## Architecture ``` EskomSePush API …