How munawar-1/sih-early-detection-of-landslides works
This is a landslide early-warning product for the Dima Hasao/NER region, combining a public dashboard, a mobile app, backend risk assessment, ML prediction, and emergency alerts. The main workflow is a user or dashboard requesting risk information; the backend obtains grid and weather inputs, calls the ML service when applicable, and returns results. Mobile also has a local offline risk evaluator. The tree and excerpts support these main paths, but the README is empty and many controller/service relationships are unsampled, so uncertain wiring is omitted.
Main entry points: PredictionController.java Backend API · App.tsx Mobile App · OrchestrationService.java Risk Orchestration · apiService.ts Dashboard API
Components 23
User Clients
- Risk Dashboard
sih-landslide-ner/frontend-dashboard/src/App.tsx - Dashboard API
sih-landslide-ner/frontend-dashboard/src/services/apiService.ts - Mobile App
sih-landslide-ner/mobile-app/App.tsx - Mobile API
sih-landslide-ner/mobile-app/src/services/apiService.ts - Offline Risk Engine
sih-landslide-ner/mobile-app/src/services/offlineRiskEngine.ts - Grid Cache
sih-landslide-ner/mobile-app/src/services/gridCacheService.ts - Mobile Storage
sih-landslide-ner/mobile-app/src/services/storageService.ts - Dashboard Offline Cache
sih-landslide-ner/frontend-dashboard/src/services/offlineStorageService.ts
Backend Services
- Backend API
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/controller/PredictionController.java - Risk Orchestration
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/service/OrchestrationService.java - Weather Inputs
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/service/WeatherService.java - Grid Repository
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/repository/GridPointRepository.java - OTP Authentication
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/service/AuthService.java - JWT Security
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/security/JwtService.java - Public Reports
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/service/PublicReportService.java
Risk Modeling
- Prediction Service
sih-landslide-ner/ml-service/src/main.py - Model Training
sih-landslide-ner/ml-service/src/train.py - Geospatial Data Pipeline
sih-landslide-ner/data-pipeline/scripts
Alert Delivery
- Alert Dispatch
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/service/AlertDispatchService.java - Notification Providers
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/notification/NotificationProvider.java - Alert Logs
sih-landslide-ner/backend-server/src/main/java/com/sih/landslide/repository/AlertLogRepository.java
Other components
- Resident / Analyst
- Push / SMS Networks
Connections 22
- Resident / Analyst → Risk Dashboard: uses
- Resident / Analyst → Mobile App: uses
- Risk Dashboard → Dashboard API: requests data
- Dashboard API → Backend API: calls backend
- Mobile App → Mobile API: requests data
- Mobile API → Backend API: calls backend
- Mobile App → Offline Risk Engine: evaluates offline
- Offline Risk Engine → Grid Cache: reads cached grid
- Mobile App → Mobile Storage: stores credentials
- Dashboard API → Dashboard Offline Cache: caches grid
- Backend API → Risk Orchestration: runs assessment
- Risk Orchestration → Grid Repository: loads and updates grid
- Risk Orchestration → Weather Inputs: fetches rainfall
- Risk Orchestration → Prediction Service: sends batch predictions
- Backend API → Prediction Service: requests coordinate risk
- Backend API → Grid Repository: queries nearest point
- OTP Authentication → JWT Security: generates token
- Alert Dispatch → Notification Providers: dispatches alerts
- Alert Dispatch → Alert Logs: records delivery
- Notification Providers → Push / SMS Networks: sends push and SMS
- Model Training → Prediction Service: produces model
- Geospatial Data Pipeline → Model Training: prepares data