CS capstone project: Irrigation advisory system for smallholder farms in Morocco's Beni Mellal region.
# IrriSmart
Système de conseil en irrigation intelligent pour les agriculteurs de Béni Mellal-Khénifra, Maroc.
**Démo live :**
irrismart.up.railway.app
---
## Description
IrriSmart est un système IoT et IA de précision pour petits exploitants agricoles de la région de Béni Mellal-Khénifra (plaine du Tadla). Il combine capteurs capacitifs de sol en temps réel, moteur RandomForest (94.4–95.0% accuracy), détection d'anomalies IsolationForest, analyse statistique saisonnière (z-score vs baselines INRA Tadla), intégration météo Open-Meteo, et tableau de bord bilingue FR/AR avec assistant conversationnel en darija marocaine.
---
## Stack technique
| Composant | Technologie |
|-----------|-------------|
| Backend | Python 3.11, Flask 3.0.0 |
| Base de données | PostgreSQL (Railway) |
| ML / IA | scikit-learn 1.3.2 (RandomForest, IsolationForest) |
| Frontend | HTML5, CSS3, Vanilla JS, Chart.js, Leaflet.js |
| IoT Gateway | Heltec WiFi LoRa 32 V3 |
| Capteurs | Capacitive Soil Moisture v1.2 |
| Déploiement | Railway.app |
| Météo | Open-Meteo API (32.34°N, -6.35°E) |
| SMS / WhatsApp | Twilio |
| Assistant IA | Claude Haiku (claude-haiku-4-5-20251001) |
---
## Cultures et seuils (INRA Tadla + FAO-56)
| Culture | ID Capteur | Parcelle | Seuil critique | Optimal | Surface |
|---------|-----------|----------|----------------|---------|---------|
| Olivier | ID010001 | Parcelle Oliviers Nord | 15% | 35–50% | 2.4 ha |
| Agrumes | ID010002 | Parcelle Agrumes Centre | 20% | 45–60% | 1.9 ha |
| Blé dur | ID010003 | Parcelle Blé Sud | 10% | 30–45% | 3.2 ha |
---
## Performances ML (test set 2 400 échantillons/culture)
| Culture | Accuracy | F1 | Recall | CV F1 | ROC AUC |
|---------|----------|----|--------|-------|---------|
| Olivier | 94.71% | 0.9423 | 93.51% | 0.9418 | 0.9503 |
| Agrumes | 94.42% | 0.9462 | 94.62% | 0.9494 | 0.9482 |
| Blé dur | 95.00% | 0.9390 | 92.76% | 0.9346 | 0.9514 |
---
## Installation locale
```bash
git clone
github.com …