💧 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
1cd ML
2pip install -r requirements.txt
3python train_models.py
2. Start the backend
bash
1cd backend
2pip install -r requirements.txt
3# Set DATABASE_URL or use the default PostgreSQL connection4python app.py
3. Run the mobile app
bash
1cd app
2flutter pub get
3flutter 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.
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.