Skip to content

Mazraaty is a smart agricultural companion app designed for beginners and enthusiasts. It offers plant care education, AI-powered disease prediction, a comprehensive plant library, interactive AI chat, and user-friendly management tools—all in one platform. Empower your farming journey, learn, and grow with confidence!

Notifications You must be signed in to change notification settings

EsAm1973/Mazraaty

Repository files navigation

Mazraaty

Mazraaty is a smart agricultural companion app designed especially for people interested in agriculture who may not have sufficient experience or expertise. The app provides educational resources, actionable insights, and supportive tools to help beginners and enthusiasts learn, care for their plants, and make informed decisions in their agricultural journey. Whether you're a hobbyist, a new gardener, or simply curious about plants, Mazraaty empowers you to grow with confidence.

🌱 Vision

"Mazraaty aims to bridge the knowledge gap for aspiring agriculturists and plant lovers. By offering easy-to-use tools, a comprehensive plant library, and AI-powered guidance, Mazraaty supports users who lack professional experience, helping them learn, care for their plants, and enjoy successful agricultural experiences."

🚀 Features

  • Splash & Onboarding: Smooth onboarding experience for new users.
  • User Authentication: Register, log in, and manage your credentials securely to personalize your experience and access all app features. If you forget your password, you can easily recover and reset it through the app's password recovery process.
  • Educational Guidance: Step-by-step support and tips for plant care and agriculture basics.
  • Library of Plants: Explore a vast collection of plant species with detailed information, care methods, and common diseases.
  • AI Plant Chat: Chat with an AI assistant to get answers about specific plants and their care.
    • Note: The AI Chat feature uses a limited API key from DeepSeek: R1 (free). If you find that AI Chat is not working, please visit the OpenRouter website, search for "DeepSeek: R1 (free)", retrieve a new API key, and update the deepSeekApiKey variable in the ai_chat_view_body.dart file.
  • Scan Feature (Points System): The plant disease detection feature operates on a points system. Users must have enough points to use the scan feature; points can be purchased through the app. This system helps support the app and ensures fair usage.
    • Supported Plants: The Scan Feature can predict diseases for the following plant types: Apple, Corn, Blueberry, Cherry, Grape, Orange, Peach, Pepper, Potato, Raspberry, Soybean, Squash, Strawberry, Tomato.
  • Disease History: Track your plants' health and history over time.
  • Common Diseases: Learn about common plant diseases and how to prevent or treat them.
  • User Profile: Manage your account, crop your profile image, change your password, and delete your account if needed. Password change and recovery options are available for your security and convenience.
  • Subscription & Payments: Access premium features and purchase points via Paypal or MyFatoorah payment gateways.

🗂️ Project Structure

lib/
  Core/           # Core utilities, data, models, widgets
  Features/
    authentication/   # User authentication (login, register, change password)
    history/          # Disease history tracking
    home/             # Main dashboard and feature highlights
    onboardeing/      # Onboarding screens
    payment/          # Subscription and payment methods
    plant_library/    # Plant database, AI chat, plant details
    profile/          # User profile management
    scan_plant/       # Plant disease scanning, camera, points system
    settings/         # App settings
    splash/           # Splash screen
  main.dart       # App entry point

🛠️ Technologies & Dependencies

  • Flutter (Dart SDK ^3.5.3)
  • State Management: flutter_bloc, get_it
  • Networking: dio, http
  • Routing: go_router
  • UI: google_fonts, font_awesome_flutter, lottie, animated_text_kit, fl_chart, awesome_dialog, curved_navigation_bar, flutter_markdown
  • Camera & Image: camera, image_picker, image_cropper, flutter_image_compress, cached_network_image
  • Persistence: sqflite, path_provider, path
  • Permissions: permission_handler
  • Other: dartz, equatable, url_launcher, clipboard, timeago, geolocator, intl, uuid, google_sign_in

See pubspec.yaml for the full list and versions.

🌐 Backend/API

Mazraaty uses a custom backend API:

http://rmrmrm-001-site1.mtempurl.com/api-mobile/

📦 Assets

  • Images: assets/images/
  • Animations: assets/animations/
  • Fonts: assets/fonts/

📊 Dataset

The AI model for plant disease prediction was trained using the dataset and code available at: Plant Disease Classification (ResNet) on Kaggle

▶️ Getting Started

  1. Install Flutter: Flutter Install Guide

  2. Clone the repository:

    git clone https://github.com/EsAm1973/Mazraaty.git
    cd mazraaty
  3. Install dependencies:

    flutter pub get
  4. Download and Run the Flask Server for Scan Feature:

    • The Scan Feature (plant disease detection) requires a local Flask server.
    • Download the flask_server folder from the following link: Download flask_server from Google Drive
    • After downloading, navigate to the flask_server folder and run the all_disease_flask.py file:
      cd flask_server
      python all_disease_flask.py
    • Make sure the server is running before using the Scan Feature in the app.

    Important:

    • If you use the Scan Feature on an Android emulator, the base URL in api_scan_service.dart should be:
      url = 'http://10.0.2.2:5000/predict'
    • If you run the app on a real device or deploy the Flask server to a remote server, you must change the URL in api_scan_service.dart to the new server address.
  5. Run the app:

    flutter run
    • For web: flutter run -d chrome
    • For Android/iOS: Connect your device or use an emulator/simulator
  6. Build for release:

    • Android: flutter build apk
    • iOS: flutter build ios

🤝 Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

📄 License

This project is for educational and demonstration purposes. Please contact the author for commercial use.

🙏 Credits

  • Developed by:
    • Mohamed Esam El-Din (Flutter)
    • Mohamed Walaa (Backend)
    • Ramadan Mohamed (Backend)
    • Mohamed Alaa El-Din (UI)
    • Ahmed Ali (UI)
    • Gamal Abdel Nasser (Frontend)
  • Special thanks to the Flutter community and open-source contributors.

Empower your farming journey with Mazraaty!

🖼️ Screenshots

Here are some screenshots showcasing the UI of Mazraaty:

Splash

Splash Screen

Onboarding

Onboarding 1 Onboarding 2 Onboarding 3 Onboarding 4

Login & Signup

Login Screen Signup Screen Forget Password 1 Forget Password 2 Forget Password 3

Home

Home Screen 1 Home Screen 2 Home Screen 3

Plant Library

Plant Library Plant Details 1 Plant Details 2 Plant Details 3 Plant Details 4 Plant Details 5 Plant Details 6

AI Chat

AI Chat 1 AI Chat 2

Scan Disease

Scan Screen 1 Scan Screen 2

Scan Disease Details

Disease Details 1 Disease Details 2 Disease Details 3

History

History Screen 1 History Screen 2 History Screen 3

Profile

Profile Screen 1 Profile Screen 2

Payment

Payment Methods Payment Packages

Delete Account

Delete Account

About

Mazraaty is a smart agricultural companion app designed for beginners and enthusiasts. It offers plant care education, AI-powered disease prediction, a comprehensive plant library, interactive AI chat, and user-friendly management tools—all in one platform. Empower your farming journey, learn, and grow with confidence!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published