How bharathkumark843-pixel/forest_fire_detection works
This is a forest-fire detection and monitoring dashboard. Operators submit images or run simulated camera scans; the React client sends frames to Flask, which classifies them and returns fire status, confidence, and explainability data. Results feed dashboard history, statistics, alerts, and camera status. The README also documents live NASA hotspot mapping and model evaluation. Backend behavior is concentrated in one file; unsampled implementation details are represented only where documented, and uncertain internal wiring is omitted.
Main entry points: app.py Flask API · App.jsx Dashboard state · MapView.jsx Camera and hotspot map · LiveMonitor.jsx Live monitor
Components 20
Monitoring dashboard
- Dashboard state
frontend/src/App.jsx - Image upload
frontend/src/components/UploadPanel.jsx - Live monitor
frontend/src/components/LiveMonitor.jsx - Risk results
frontend/src/components/ResultCard.jsx - History and stats
frontend/src/components/HistoryPanel.jsx - Alert display
frontend/src/components/AlertBanner.jsx - Alert settings
frontend/src/components/AlertLog.jsx - Camera and hotspot map
frontend/src/components/MapView.jsx - Camera locations
frontend/src/cameraLocations.js
Detection service
- Flask API
backend/app.py - Classification and Grad-CAM
backend/app.py - Detection log
backend/app.py - Critical-risk email
backend/app.py
Model lifecycle
- Trained model
ml-model/fire_model.h5 - Model training and evaluation
ml-model/train_model.py - Evaluation metrics
ml-model/eval_metrics.json
External data
- NASA FIRMS
- Gmail SMTP
- Map tiles
Other components
- Operator
Connections 24
- Operator → Dashboard state: uses dashboard
- Dashboard state → Image upload: offers upload
- Dashboard state → Live monitor: starts monitoring
- Image upload → Flask API: posts image
- Live monitor → Flask API: posts frames
- Flask API → Classification and Grad-CAM: runs prediction
- Classification and Grad-CAM → Trained model: loads model
- Flask API → Detection log: records detections
- Flask API → Critical-risk email: sends critical alerts
- Critical-risk email → Gmail SMTP: sends email
- Flask API → NASA FIRMS: fetches hotspots
- Dashboard state → Flask API: loads history and stats
- Camera and hotspot map → Flask API: requests hotspots
- Camera and hotspot map → Camera locations: reads coordinates
- Camera and hotspot map → Map tiles: loads basemap
- Flask API → Detection log: serves history and stats
- Model training and evaluation → Trained model: writes trained model
- Model training and evaluation → Evaluation metrics: writes evaluation
- Dashboard state → Risk results: shows prediction
- Dashboard state → History and stats: updates and displays
- Dashboard state → Alert display: displays alerts
- Alert settings → Flask API: configures alert email
- Live monitor → Camera locations: resolves camera
- Flask API → Classification and Grad-CAM: generates Grad-CAM