How shresthagakul999-rgb/project-agrigrow works
Agrigrow is a Django farm-environment monitoring application. Its evident workflow is to collect or simulate farm sensor readings, classify new readings for risk, create and email alerts for warning/critical conditions, and expose farm readings, status, summaries, alerts, and weather-mode controls through an authenticated dashboard/API. Model training is a separate supporting capability. The README contains no feature documentation, and source excerpts do not show URL wiring or model/predictor internals; those relationships are omitted where not evidenced.
Main entry points: views.py Dashboard API · signals.py Reading classification · models.py Sensor readings · generate_readings.py Reading simulation
Components 14
Farm monitoring
- Reading simulation
sensors/management/commands/generate_readings.py - Farm data
sensors/models.py - Sensor readings
sensors/models.py - Weather modes
sensors/models.py
Risk analysis
- Model training
mlengine/management/commands/train_model.py - Rule labeling
mlengine/labeling.py - Risk prediction
mlengine/predictor.py - Reading classification
mlengine/signals.py
Alerts
- Alert records
alerts/models.py - Email notification
alerts/notifications.py
Dashboard
- Dashboard API
dashboard/views.py - API serialization
dashboard/serializers.py
Other components
- Farmer
- SMTP service
Connections 18
- Farmer → Reading simulation: starts simulation
- Reading simulation → Farm data: reads farms
- Reading simulation → Weather modes: reads mode
- Reading simulation → Sensor readings: creates readings
- Farmer → Dashboard API: requests data
- Dashboard API → Farm data: reads owned farms
- Dashboard API → Sensor readings: queries readings
- Dashboard API → Weather modes: reads or updates
- Dashboard API → Alert records: queries alerts
- Dashboard API → API serialization: serializes results
- Model training → Sensor readings: loads readings
- Model training → Rule labeling: labels samples
- Sensor readings → Reading classification: post-save dispatch
- Reading classification → Risk prediction: predicts risk
- Reading classification → Sensor readings: updates risk
- Reading classification → Alert records: creates alert
- Reading classification → Email notification: sends alert
- Email notification → SMTP service: sends email