Final Project for the First-Year Master's Course "Big Data Visualization and Analysis"
Simulate multiple devices, with specific scenarios to be discussed by the group (e.g., vehicles generating data every second). The server receives data via UDP protocol (recommended implementation in Go). Use Kafka as a middleware message queue with basic configurations. Flink acts as a Kafka consumer, processes data, writes to a database, and Grafana visualizes the database data.
- Java 17
- Docker
- WSL / Linux distro (tested on Kali Linux)
- Go 1.22.5
- Grafana 11.6.0
First run the script:
./start.sh upImport the dashboard.json (file) into Grafana.
Then run the Main.java program under the flink-consumer directory.(You may need to modify the path to the jar file.)
This system simulates the collection of city bus operational status data (e.g., coordinates, speed, station information) for data collection, cleaning, analysis, and visualization.
Client -> Server -> Kafka -> Flink -> Database(InfluxDB2) -> Grafana
Simulate collection of bus operational status information, including:
- Longitude
- Latitude
- Speed
Random data generation is acceptable for simulation.
Send data in JSON format via UDP protocol.
Write data to Kafka in JSON format.
Consume messages from Kafka, deserialize the JSON messages, and write the data into InfluxDB.
For example, display:
- Vehicle movement trajectories
- Speed trends over time
- ...




