Skip to content

fatihgoncagul/earthquake-processing-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 Real-time Earthquake DataStream Processing System

📌 Overview

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.

Flow Diagram User Interface

🚀 Tech Stack

  • Java & Spring Boot
  • Kafka
  • Flink (Stream Processing)
  • Websockets
  • Cassandra (NoSQL Database)
  • React

⚙️ Setup & Run Instructions

1️⃣ Clone the Repository

git clone https://github.com/fatihgoncagul/earthquake-processing-system.git
cd earthquake-processing-system

2️⃣ Start Services with Docker Compose

docker-compose up -d --build

This will start all of the containers, setup may take few minutes.

3️⃣ Open the Web UI

  • 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.

About

Realtime Earthquake DataStream Processing with Flink & Java Spring Boot & Kafka & Websocket and React.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •