This project demonstrates a real-time voting analysis system using modern big data technologies. The system simulates a voting process, extracts data from an external API, processes it using Apache Kafka and Apache Spark, and visualizes the results with Streamlit.
-
Data Extraction:
- Data is fetched from the API:
Simulated voters are assigned to one of three parties:
BASE_URL = 'https://randomuser.me/api/?nat=gb'
- Management Party
- Savior Party
- Tech Republic Party
- Data is fetched from the API:
-
Real-time Data Processing:
- Apache Kafka is used for real-time streaming of voting data.
- Apache Spark processes the data in real-time, aggregating results and performing analytics.
-
Visualization:
- Streamlit provides an interactive dashboard to display voting results in real-time.