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.
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.
- 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.
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.
- 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.
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
| Role | Name | NMEC |
|---|---|---|
| Product Owner | Bernardo Santos | 125091 |
| DevOps Master | Bruno Vieira | 125093 |
| Architect | Miguel Santos | 125568 |
| Team Manager | João Farias | 124964 |

