Loading repository data…
Loading repository data…
Varaxion / repository
Sahay - A predictive disaster intelligence and rapid emergency response platform. Features ML-driven river flood forecasting (ARIMA), CNN-based rainfall analysis, a lightning-fast blood bank locator, and interactive disaster SOPs. Built for DSN3099 Engineering Project in Community Service @ VIT
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Advanced hydrological forecasting, rainfall analysis, blood bank locator, emergency guidelines, and incident-reporting simulation for public safety and preparedness.
[!NOTE] Sahay was originally developed in 2025 as part of the academic curriculum for the EPICS course at VIT Bhopal University. It has now been completely overhauled into a modern, dynamic web application, upgrading its model speed, repository structure, and visual aesthetics to state-of-the-art glassmorphic standards.
Sahay is a comprehensive Flask-based disaster resilience platform that fuses machine-learning hydrological intelligence with practical, on-the-ground emergency support utilities. Designed with a stunning dark glassmorphic UI, it provides a unified hub to:
(The active v1.0 application is housed inside app/, while the preserved v0 legacy prototype is kept under v0Archive/ to document the project's evolution.)
| Flood Forecasting | Rainfall Analysis |
|---|---|
| Blood Bank Locator | Disaster SOPs |
| Incident Reporting | About |
| Layer | Technologies Used |
|---|---|
| Frontend UI | HTML5, Jinja2, Vanilla CSS3 (Glassmorphism), Vanilla JavaScript |
| Backend Framework | Python 3.10+, Flask, Werkzeug |
| Data Processing | Pandas, NumPy, openpyxl |
| Flood Models | statsmodels (ARIMA), scikit-learn (LDA), imblearn (SMOTE) |
| Rainfall Models | TensorFlow/Keras (1D-CNN), scikit-learn (Random Forest) |
| Visualizations | Matplotlib (Agg backend) for dynamic dark-mode server charting |
📦 DSN3099
┣ 📂 screenshots/ # High-resolution UI mockups and dashboards
┣ 📂 v0Archive/ # Legacy v0 source code and conceptual media
┣ 📂 app/ # Modern Optimized Application (v2.0)
┃ ┣ 📂 core/ # Isolated Machine Learning & pipeline logic
┃ ┃ ┣ 📜 hydrology.py # Flood ARIMA forecasting & LDA classification
┃ ┃ ┗ 📜 rainfall.py # CNN / RF rainfall prediction pipelines
┃ ┣ 📂 data/ # Datasets: River workbooks, IMD rainfall, Blood banks
┃ ┣ 📂 static/ # Frontend assets, stylesheets, and visual graphics
┃ ┃ ┣ 📂 css/ # CSS design system (sahay.css)
┃ ┃ ┣ 📂 images/ # Brand graphics and standalone SVGs
┃ ┃ ┗ 📂 charts/ # Dynamic chart target outputs (flood.png, rainfall.png)
┃ ┣ 📂 templates/ # Modular camelCase Jinja2 HTML views (base.html, index.html, etc.)
┃ ┣ 📂 trained/ # Serialized model artifacts (.h5, .pkl)
┃ ┣ 📜 __init__.py # Flask app factory & blueprint registration
┃ ┗ 📜 routes.py # Core routing, form handling, AJAX endpoints
┣ 📜 .env.example # Environment configuration template
┣ 📜 requirements.txt # Python package dependencies
┣ 📜 run.py # Local WSGI development server entry point
┗ 📜 README.md # Project documentation & specifications
User inputs River & Date ➔ hydrology.py reads historical river workbook ➔ Generates ARIMA future trend ➔ Extracts structural features ➔ Passes vector to LinearDiscriminantAnalysis ➔ Classifies Normal vs. High Risk ➔ Renders Matplotlib chart & metrics table.
User inputs Subdivision, Year & Model ➔ rainfall.py parses IMD dataset ➔ If CNN, loads cached Keras .h5 model (or trains on-the-fly) ➔ If RF, trains RandomForestRegressor ➔ Predicts April–December mm ➔ Calculates MAE & Variance ➔ Renders comparative chart.
routes.py loads blood_banks_india.csv globally on server start ➔ Normalizes strings (Title Case) ➔ Exposes /getCities and /searchBloodBanks JSON endpoints ➔ Client-side JS fetches and renders results instantly without page reloads.
git clone https://github.com/Varaxion/DSN3099.git
cd DSN3099
Windows:
python -m venv epicsenv
.\epicsenv\Scripts\Activate.ps1
macOS/Linux:
python3 -m venv epicsenv
source epicsenv/bin/activate
pip install -r requirements.txt
python run.py
The Sahay portal will be live at http://127.0.0.1:5000
This academic project relies on several historical and open-source datasets to power its machine learning models and locator utilities:
Cauvery.xlsx, Godavari.xlsx, etc.): Historical water level and runoff metrics sourced from the Central Water Commission (CWC) and India-WRIS (Water Resources Information S