Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

536 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIRC

MIRC: FLOOD EARLY-WARNING SYSTEM

What is MIRC (Monitorização Integrada de Risco de Cheia) ?

MIRC is an integrated web-based platform designed to predict and visualize flood risk scenarios by synthesizing real-time sensor data with geographical and infrastructure information to protect vulnerable populations.

For what I need a Flood Alert System?

Extreme natural phenomena that we are currently experiencing with increasing intensity, particularly heavy rainfall events that cause recurring floods and endanger the lives of populations. In this context, this project emerges as a web-based platform featuring a geographical map representation, aimed at predicting risk scenarios for a given population, enabling people to prepare for potential disasters, identify safe locations to which they should relocate, and, above all, safeguard human lives.

Key Features

  • Predictive Mapping: Real-time flood risk perimeters driven by sensor telemetry.
  • Waze-like Reporting: Crowdsourced system allowing users to drop pins on the map to report emergencies, alerting Civil Protection and the public instantly.
  • Safety Routing: Identification of emergency shelters and safe zones.
  • Multi-Role Dashboard: Tailored interfaces for citizens, Civil Protection, and system admins.

Setup

on proj-mirc folder : docker compose up --build

For MVP purposes only, the microservice is being orchestrated within the monolith's Docker Compose setup. In the future, the goal is to ensure full separation in order to comply with the characteristics of a well-designed microservice.

System Architecture

  • Data acquisition layer: continuous collection of river flow rates (measured in cm^3 per second), water levels, and precipitation levels. It integrates soil impermeability data and altitude mapping of the urban area. The layer also consumes external APIs from local dams and calculates the proximity of residential zones to riverbanks.
  • Data publishing: The transmission of distributed data streams (generated by various sensors) to the central backend (push data upward). This process uses lightweight message-oriented protocols, so data ingestion is performed by a message-oriented middleware, in order to guarantee a bandwidth-savvy transport and high resilience for critical flood scenarios.
  • Processing & bizz logic: A central module responsible for analyzing incoming data streams from the message broker to detect hazard conditions when the telemetry reveals that safety thresholds are compromised. It performs data aggregation to build a historical trend and implements the logic for automic alarm, which is directed to the users. This logic is design to be combined with external APIs (SNIRH) to enable robust data analytics and more predictive risk scenarios
  • Integration API: the system exposes RESTful endpoints that allow Civil Protection agencies and third-party weather services to programmatically retrieve historical flood trends, current sensor readings, registered shelter locations, and active risk perimeters.
  • Web portal: a multi-role dashboard featuring an interactive map for residents to visualize localized risk and safety instructions. It provides Civil Protection officers with administrative tools to manually override risk levels, manage the area of responsibility, and update the status of help posts and emergency shelters. For Systems administrator, they will have the possibility to add and manage sensors through the interface, allowing them to check when a sensor may be damaged.
  • Arch Diagram: Arquitetura

Bookmarks

Repository Structure

This repository contains all backend/frontend code necessary to run all system.

├── proj-mirc/ # Main monitoring system
│ ├── backend/ # Backend APIs
│ ├── frontend/ # Frontend app
│ └── compose.yaml # Container orchestration
├── project/ # Risk calculation microservice
├── reports/ # Technical documentation
└── minutes/ # Meeting minutes

PARTICIPANTS:

Role Name NMEC
Product Owner Bernardo Santos 125091
DevOps Master Bruno Vieira 125093
Architect Miguel Santos 125568
Team Manager João Farias 124964

About

ies2526-group-project-ies2526_g105 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages