YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

πŸ’§ AquaHealth β€” Analysis and Prediction of Waterborne Health Diseases

A full-stack mobile health platform that uses gradient-boosted ensemble models to predict waterborne diseases, assess water quality, forecast outbreak risk, and evaluate sanitation conditions across India.


Repository Structure

β”œβ”€β”€ app/            Flutter mobile application (cross-platform)
β”œβ”€β”€ backend/        Flask REST API with JWT auth & ML inference
β”œβ”€β”€ ML/             Model training pipeline, dataset, and plots
β”œβ”€β”€ doc/            IEEE research paper (LaTeX)
└── README.md       ← you are here

Each subdirectory has its own README.md with setup instructions.


What AquaHealth Does

Model Task Algorithm Key Metric
Disease Classifier 8-class classification (7 diseases + No Disease) XGBoost + LightGBM weighted ensemble 95.19% accuracy
WQI Predictor Water Quality Index regression XGBoost Regressor RΒ² = 0.886
Outbreak Risk Binary outbreak prediction LightGBM AUC-ROC = 0.9997
Water Safety 3-class water safety (Safe / Moderate / Dangerous) XGBoost 99.25% accuracy
Sanitation Risk Sanitation risk score regression XGBoost Regressor RΒ² = 0.787

Diseases Covered

Cholera Β· Typhoid Β· Dysentery Β· Giardiasis Β· Hepatitis A Β· Hepatitis E Β· Leptospirosis


Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Flutter Mobile App β”‚  ← User-facing UI (19 screens)
β”‚   (Dart / Riverpod)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ HTTP + JWT
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Flask REST API     β”‚  ← Authentication, validation, inference
β”‚   (Python / Gunicorn)β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   ML Models (joblib) β”‚  ← 5 pre-trained models loaded at startup
β”‚   PostgreSQL (users) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quick Start

1. Train the models (or use pre-trained)

cd ML
pip install -r requirements.txt
python train_models.py

2. Start the backend

cd backend
pip install -r requirements.txt
# Set DATABASE_URL or use the default PostgreSQL connection
python app.py

3. Run the mobile app

cd app
flutter pub get
flutter run

Update the API base URL in app/lib/core/api_service.dart to point to your running backend.


Dataset

5.25 million synthetic records calibrated against real-world Indian epidemiological data (CPCB, IDSP, Census of India). Covers all 36 states/UTs, 615+ districts, 40 features spanning geography, water chemistry, sanitation, climate, demographics, and clinical symptoms.

See ML/Dataset-info.md for the complete data dictionary.


Tech Stack

Layer Technology
Mobile App Flutter 3.9+, Dart, Riverpod, fl_chart, flutter_map
Backend API Python 3.10+, Flask, Gunicorn, PostgreSQL, PyJWT
ML Training XGBoost, LightGBM, scikit-learn, pandas, matplotlib
Model Serialization joblib
Authentication JWT (7-day expiry), salted SHA-256 password hashing

Research Paper

The accompanying IEEE-format paper is in doc/research_paper.tex. It documents the methodology, dataset construction, model architecture, and experimental results.


License

This project is developed as an academic major project. See individual component READMEs for details.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support