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.
"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."
- 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 theai_chat_view_body.dart
file.
- 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
- 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.
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
- 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.
Mazraaty uses a custom backend API:
http://rmrmrm-001-site1.mtempurl.com/api-mobile/
- Images:
assets/images/
- Animations:
assets/animations/
- Fonts:
assets/fonts/
The AI model for plant disease prediction was trained using the dataset and code available at: Plant Disease Classification (ResNet) on Kaggle
-
Install Flutter: Flutter Install Guide
-
Clone the repository:
git clone https://github.com/EsAm1973/Mazraaty.git cd mazraaty
-
Install dependencies:
flutter pub get
-
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 theall_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.
-
Run the app:
flutter run
- For web:
flutter run -d chrome
- For Android/iOS: Connect your device or use an emulator/simulator
- For web:
-
Build for release:
- Android:
flutter build apk
- iOS:
flutter build ios
- Android:
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project is for educational and demonstration purposes. Please contact the author for commercial use.
- 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!
Here are some screenshots showcasing the UI of Mazraaty: