The system generates random earthquake data and sends it to Kafka, processes it through Flink, and sends anomalies to Kafka. The backend serves as a Rest API for starting/stopping data generation and database operations, WebSocket publisher, while the frontend visualizes the data using React. Flink marks an earthquake as an anomaly if its magnitude is high and if more than two earthquakes occured close to each other within a specified perimeter in the specified time interval.
- Java & Spring Boot
- Kafka
- Flink (Stream Processing)
- Websockets
- Cassandra (NoSQL Database)
- React
git clone https://github.com/fatihgoncagul/earthquake-processing-system.git
cd earthquake-processing-system
docker-compose up -d --build
This will start all of the containers, setup may take few minutes.
- Frontend UI:
http://localhost:3000
- Flink Dashboard:
http://localhost:8081
- Backend API:
http://localhost:8086
Feel free to contribute and contact with me. Thank you.