This project is a real-time dashboard that streams temperature and humidity readings every 5 seconds. It showcases an end-to-end streaming data pipeline using:
Displays sensor readings every 5 seconds on a live-updating UI.
π Read the full blog on Medium
.
βββ api/ # FastAPI backend
β βββ main.py
βββ producer/ # Kafka Python data producer
β βββ producer.py
βββ spark-app/
β βββ spark_stream.py # Spark streaming script
βββ frontend/ # React frontend
β βββ src/
βββ jars/ # PostgreSQL JDBC driver
β βββ postgresql-42.7.4.jar
βββ docker-compose.yml
βββ README.md
Method | Endpoint | Description |
---|---|---|
GET | /latest |
Returns latest sensor data |
Example response:
{
"temperature": 24.75,
"humidity": 62.3,
"timestamp": 1714898232.0
}
- Add authentication layer to API
- Allow querying history by timestamp
- Deploy to cloud
This project was more than just getting things to workβit gave me a chance to explore and connect several technologies in a practical, end-to-end system. I learned how different tools interact and support each other in a real-time setup. As someone working toward a career in software development, it gave me valuable hands-on experience with Docker, building REST APIs, integrating frontend and backend components, and managing data flow across services.
Merlyn Mercylona