Skip to content

🌱 FertiOptimizer is a smart agriculture management app built with Flutter, designed to help farmers make data-driven decisions for better crop yields. It integrates real-time sensor data, AI-powered fertilizer recommendations, and remote irrigation control into one intuitive platform.

Notifications You must be signed in to change notification settings

IMMANUEL-88/ferti_optmizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌱 FertiOptimizer App

A powerful Flutter-based smart agriculture management app that helps farmers optimize fertilizer usage, monitor crops, and control irrigation remotely. The app provides real-time sensor data, weather forecasts, and AI-powered recommendations.

Promo GIF

πŸ‘¨β€πŸ’» Creators

Immanuel Jeyam
Immanuel Jeyam
Jijin Jebanesh
Jijin Jebanesh

🌟 Features

  • 🏠 Home Dashboard

    • Live sensor data visualization (soil moisture, temperature, humidity)
    • Current weather and 24-hour forecast
    • Quick access to motor control

    Home Dashboard

  • ⚑ Real-time Optimization

    • One-click fertilizer optimization using ML model
    • NPK level recommendations

    Optimization

  • πŸ€– Gemini AI-Powered Analysis

    • πŸ’¬ Chat with a Gemini-powered AI bot for instant answers
    • 🌾 Get contextual suggestions based on real-time weather and soil data
    • πŸ—£οΈ Supports multiple regional languages for enhanced accessibility
    • 🧠 AI learns from inputs and provides accurate insights

    Gemini Analysis

  • 🌦 Weather Forecast

    • 7-day weather forecast with remarks
    • Weather alerts and recommendations

    Weather Page

  • 🚰 Irrigation Control

    • Remote motor on/off control
    • Automatic scheduling based on soil conditions

    Motor Control

  • πŸ“Š Analytics Dashboard

    • Live Sensor graph

    Analytics Dashboard

  • πŸ’¬ Multi-language Chat Support

    • Gemini-powered chat interface
    • Regional language support for farmers

    Chat Feature

  • πŸ‘€ Field Management

    • Switch between multiple fields
    • View field-specific sensor data

    Field Switching

  • βš™οΈ Settings Page

    • πŸ‘€ View and manage your user profile
    • πŸ”” Toggle Email Alerts for critical updates
    • πŸ“² Enable or disable Push Notifications
    • πŸ’§ Switch Remote Motor Control Feature on/off
    • πŸšͺ Use the Logout Button to securely sign out

Settings Page

πŸ›  Tech Stack

  • πŸ”§ Flutter (Mobile App)
  • 🐍 Python (ML Backend)
  • 🌐 Node.js + Express.js (Backend)
  • πŸ”₯ MongoDB (Realtime Database)
  • πŸ€– Gemini API (Analysis & Chat)
  • 🌦 WeatherAPI (Forecast Data)

πŸ“ Folder Structure

β”œβ”€β”€ API
β”‚   β”œβ”€β”€ api.dart
β”‚   β”œβ”€β”€ mlApi.dart
β”‚   └── weather_service.dart
β”œβ”€β”€ constants
β”‚   β”œβ”€β”€ buttonOutlined.dart
β”‚   β”œβ”€β”€ image_strings.dart
β”‚   β”œβ”€β”€ page_indicator.dart
β”‚   β”œβ”€β”€ sizes.dart
β”‚   β”œβ”€β”€ spacing.dart
β”‚   └── text_strings.dart
β”œβ”€β”€ helper_functions
β”‚   └── helper_functions.dart
β”œβ”€β”€ main.dart
β”œβ”€β”€ models
β”‚   β”œβ”€β”€ ferilizer_model.dart
β”‚   β”œβ”€β”€ nutritionData_model.dart
β”‚   β”œβ”€β”€ sensorData_model.dart
β”‚   β”œβ”€β”€ weatherData_model.dart
β”‚   └── weather_model.dart
β”œβ”€β”€ pages
β”‚   β”œβ”€β”€ analytics2.dart
β”‚   β”œβ”€β”€ analytics.dart
β”‚   β”œβ”€β”€ home.dart
β”‚   β”œβ”€β”€ login.dart
β”‚   β”œβ”€β”€ settings.dart
β”‚   └── week_screen.dart
β”œβ”€β”€ popups
β”‚   β”œβ”€β”€ fullscreen_loaders.dart
β”‚   └── loaders.dart
β”œβ”€β”€ providers
β”‚   └── analyticsProvider.dart
β”œβ”€β”€ routes.dart
β”œβ”€β”€ theme
β”‚   β”œβ”€β”€ custom_theme
β”‚   β”‚   └── elevated_button_theme.dart
β”‚   └── theme.dart
└── utils
    β”œβ”€β”€ adBox.dart
    β”œβ”€β”€ analysis_box.dart
    β”œβ”€β”€ appbar.dart
    β”œβ”€β”€ CategoryItems.dart
    β”œβ”€β”€ CFC.dart
    β”œβ”€β”€ dataContainer.dart
    β”œβ”€β”€ device_utils.dart
    β”œβ”€β”€ home_container.dart
    β”œβ”€β”€ linechart.dart
    β”œβ”€β”€ npk_box.dart
    β”œβ”€β”€ productBox_L.dart
    β”œβ”€β”€ productBox_s.dart
    β”œβ”€β”€ sensor_data_box.dart
    β”œβ”€β”€ settingContainer.dart
    β”œβ”€β”€ sharedPrefs.dart
    β”œβ”€β”€ shimmerWidget.dart
    β”œβ”€β”€ TC.dart
    β”œβ”€β”€ TFD.dart
    └── weatherContainer.dart

🌐 Backend APIs

The backend is built using Node.js with Express.js, handling:

  • Sensor Data Processing

    • REST endpoints for receiving sensor data
    • WebSocket support for real-time updates
    • Data validation and sanitization
  • Machine Learning Integration

    • Python child processes for ML model execution
    • API endpoints for fertilizer recommendations
    • Crop-specific prediction models
  • Weather Data Integration

    • Weather API proxy endpoints
    • Forecast data caching
    • Weather alert system
  • Device Control

    • IoT device management endpoints
    • Motor control API
    • Irrigation scheduling system
  • Authentication & Security

    • JWT authentication
    • Role-based access control
    • API rate limiting

πŸ›  Setup

git clone https://github.com/IMMANUEL-88/ferti_optimizer.git
cd ferti_optimizer
flutter pub get
flutter run

Note: While you can clone and run the app locally, please be aware that:

  • Some backend APIs are currently hosted on a local server (localhost), and others are hosted live.
  • To experience full functionality (ML predictions, sensor data sync, motor control, etc.), you’ll need to set up the backend environment locally or deploy it to a live server.
  • The necessary environment variables (.env) are maintained privately and are not included in the repository for security reasons.

About

🌱 FertiOptimizer is a smart agriculture management app built with Flutter, designed to help farmers make data-driven decisions for better crop yields. It integrates real-time sensor data, AI-powered fertilizer recommendations, and remote irrigation control into one intuitive platform.

Topics

Resources

Stars

Watchers

Forks