A comprehensive IoT-powered smart farming solution with AI-driven weed detection and real-time monitoring capabilities.
Smart Farm IoT is a cutting-edge mobile application that revolutionizes modern agriculture by combining Internet of Things (IoT) sensors, machine learning-powered weed detection, and intuitive farm management tools. Built with Flutter for cross-platform compatibility, this app empowers farmers to monitor their crops in real-time, detect weeds automatically, and make data-driven decisions to optimize their farming operations.
- Firebase Authentication with email/password and Google Sign-In
- Secure user registration and login system
- Password reset functionality
- Session management and auto-login
- Live sensor data from multiple farm locations
- Temperature, humidity, soil moisture, and light intensity tracking
- Interactive charts with historical data visualization
- Real-time alerts and notifications for critical conditions
- CORS-compliant API integration with fallback mock data
- Machine learning integration for automated weed identification
- Camera-based weed detection with image upload
- Real-time analysis and classification results
- Detection history and analytics
- Multi-farm support with detailed farm profiles
- Comprehensive dashboard with key metrics
- Equipment control and monitoring
- Crop management and planning tools
- Cross-platform support (Android & iOS)
- Intuitive navigation with bottom tab bar
- Dark/Light theme support
- Responsive design for all screen sizes
- Offline capability with data synchronization
- Editable user profiles with image upload
- Farm information management
- Statistics and performance metrics
- Notification preferences
- Data export functionality
- Flutter 3.x - Cross-platform mobile framework
- Dart - Programming language
- Google Fonts - Typography
- FL Chart - Interactive data visualization
- Image Picker - Camera and gallery integration
- Firebase Authentication - User management
- Firebase Cloud Firestore - Real-time database
- REST API - IoT sensor data integration
- Google Services - OAuth and cloud integration
- Feature-based architecture for scalability
- Provider/Bloc pattern for state management
- Repository pattern for data abstraction
- Clean architecture principles
lib/
βββ features/
β βββ auth/
β β βββ screens/
β β β βββ login_screen.dart
β β β βββ register_screen.dart
β β βββ services/
β βββ home/
β β βββ screens/
β β βββ home_screen.dart
β β βββ farm_details_screen.dart
β β βββ profile_screen.dart
β βββ weed_detection/
β β βββ screens/
β β βββ weed_detection_screen.dart
β βββ control/
β β βββ screens/
β β βββ control_car_screen.dart
β βββ notifications/
β β βββ screens/
β β βββ notifications_screen.dart
β βββ camera/
β βββ screens/
β βββ camera_screen.dart
βββ services/
β βββ auth_service.dart
β βββ api_service.dart
βββ models/
β βββ sensor_data.dart
βββ firebase_options.dart
βββ main.dart
- Flutter SDK (3.0 or higher)
- Dart SDK (3.0 or higher)
- Android Studio or VS Code with Flutter extensions
- Firebase project with Authentication and Firestore enabled
- Android/iOS device or emulator
-
Clone the repository
git clone https://github.com/yourusername/weed_detection_iot_ml.git cd weed_detection_iot_ml -
Install dependencies
flutter pub get
-
Firebase Setup
- Create a new Firebase project at Firebase Console
- Enable Authentication (Email/Password and Google Sign-In)
- Enable Cloud Firestore
- Download
google-services.json(Android) andGoogleService-Info.plist(iOS) - Place the files in their respective platform directories
-
Configure Firebase
flutter packages pub run build_runner build
-
Run the application
flutter run
Clean, modern authentication with email/password and Google Sign-In integration
Real-time dashboard with comprehensive farm monitoring and statistics
Interactive charts with real-time sensor data and historical analytics
AI-powered weed detection with camera integration and real-time analysis
Comprehensive farm management with equipment control and monitoring
User profile management with editable information and notification settings
To add your own screenshots, create a screenshots folder in your project root with these files:
screenshots/
βββ app_demo.mp4 # App demo video
βββ login_screen.png # Login screen
βββ register_screen.png # Registration screen
βββ google_signin.png # Google Sign-In flow
βββ home_dashboard.png # Main dashboard
βββ sensor_overview.png # Sensor data overview
βββ farm_stats.png # Farm statistics
βββ interactive_charts.png # Data visualization charts
βββ sensor_details.png # Detailed sensor view
βββ historical_data.png # Historical data analysis
βββ weed_detection_camera.png # Weed detection camera
βββ weed_analysis.png # Weed analysis results
βββ detection_results.png # Detection outcome
βββ farm_details.png # Farm management details
βββ control_panel.png # Equipment control panel
βββ equipment_control.png # Equipment monitoring
βββ profile_view.png # User profile view
βββ profile_edit.png # Profile editing mode
βββ notifications.png # Notifications screen
- Run your Flutter app on a device or emulator
- Navigate to each screen you want to capture
- Take screenshots using:
- Android: Power + Volume Down
- iOS: Power + Volume Up
- Emulator: Use built-in screenshot tools
- Save images in the
screenshotsfolder with the names listed above - Record a demo video showing the app's key features
Update the API endpoints in lib/services/api_service.dart:
static const String baseUrl = 'YOUR_IOT_API_ENDPOINT';Ensure your firebase_options.dart is properly configured with your project credentials.
Run the test suite:
flutter testFor integration tests:
flutter drive --target=test_driver/app.dartflutter build apk --release
# or for app bundle
flutter build appbundle --releaseflutter build ios --releaseWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Flutter/Dart style guidelines
- Write comprehensive tests for new features
- Update documentation for API changes
- Ensure cross-platform compatibility
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter Team for the amazing framework
- Firebase for backend services
- Material Design for UI components
- IoT sensor manufacturers for hardware integration
- Open source community for various packages and tools
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: your.email@example.com
Made with β€οΈ for sustainable agriculture
Empowering farmers with technology for a greener future












