How shegin733/smart-farming-application works
FarmAlly is a Flutter smart-farming app for greenhouse monitoring and agricultural services. The main user workflow is to open the app, authenticate, and use its screens to control or monitor greenhouse devices or access farming tools. The app’s distinct capabilities include manual and weather-assisted crop prediction, cultivation cost estimation, pest and weed classification, agricultural news, and notifications. The README describes Firebase, ESP8266, and Flask integrations; Flutter implementation details were not sampled, so relationships below rely on those documented statements.
Main entry points: crop_prediction.dart Crop prediction · iot_control.dart IoT controls · Automatic_climate.dart Automatic climate input · home.dart Home and navigation
Components 21
Mobile app
- Home and navigation
lib/screens/home.dart - Authentication
lib/authentication/login.dart - Registration
lib/authentication/registration.dart - Agricultural news
lib/screens/home.dart
Greenhouse IoT
- IoT controls
lib/iot_control/iot_control.dart - ESP8266 controllers
IoT
Farming tools
- Crop prediction
lib/crop_prediction/crop_prediction.dart - Automatic climate input
lib/crop_prediction/Automatic_climate.dart - Manual crop input
lib/crop_prediction/crop_predictHome.dart - Crop model interface
lib/crop_prediction/crop_prediction_model.dart - Cost estimation
lib/cost_estimation/cost_estimation.dart - Pest classification
lib/pest_classification/pest_identification.dart - Weed classification
lib/weed_classification/weed_identification.dart
Cloud services
- Realtime Database
- Weather API
- Flask model services
- Firebase Authentication
- Cloud Messaging
- Firebase integration
lib/services/firebase_api.dart - News API
Other components
- Farmer
Connections 24
- Farmer → Home and navigation: opens app
README.md - Home and navigation → Authentication: offers access
README.md - Authentication → Firebase Authentication: authenticates with
README.md - Registration → Firebase Authentication: registers with
README.md - Farmer → IoT controls: controls devices
README.md - IoT controls → Realtime Database: reads device data
README.md - ESP8266 controllers → Realtime Database: sends sensor data
README.md - IoT controls → ESP8266 controllers: controls greenhouse
- Farmer → Crop prediction: requests prediction
README.md - Manual crop input → Crop prediction: supplies parameters
README.md - Automatic climate input → Weather API: fetches climate
README.md - Automatic climate input → Crop prediction: supplies parameters
README.md - Crop prediction → Flask model services: requests prediction
README.md - Crop model interface → Flask model services: hosts classifier
README.md - Farmer → Cost estimation: requests estimate
README.md - Cost estimation → Flask model services: sends parameters
README.md - Farmer → Pest classification: submits image
README.md - Pest classification → Flask model services: sends image
README.md - Farmer → Weed classification: submits image
README.md - Weed classification → Flask model services: sends image
README.md - Farmer → Agricultural news: views news
README.md - Agricultural news → News API: fetches articles
README.md - Firebase integration → Cloud Messaging: delivers alerts
README.md - Cloud Messaging → Farmer: notifies user
README.md