A Flutter-based mobile application designed for detecting plant diseases through machine learning models using mobile imaging. This app is part of a master's degree final project by Michael Ajao-Olarinoye for a degree in Data Science and Computational Intelligence at Coventry University.
This project serves as a mobile app aimed at local farmers to assist with identifying plant diseases. The app enables users to upload plant images for disease diagnosis using machine learning models. It also provides a minimalist, farmer-friendly design to ensure accessibility and ease of use.
- Image Upload: Users can upload images of plants.
- Disease Detection: Identifies diseases from the uploaded images using machine learning models.
- Farmer-friendly UI: Simple and intuitive user interface for ease of use.
- Research-Oriented: Includes functionality for logging and sending disease data, which can be used for research purposes.
- Frontend: Built using Flutter, focusing on a simple, intuitive user interface for farmers.
- Backend (Future Implementation): Will include a machine learning model (TFLite) for plant disease detection.
- Core Functionality: Image analysis using pre-trained models and possibly integration with a cloud service for better data storage and retrieval.
- Minimalist Design: The app uses simple color schemes with rustic, natural tones to appeal to local farmers.
- Welcome Screen: Engaging welcome screen introducing users to the app's purpose.
- Easy Navigation: Simple navigation flow with clear buttons for uploading images and viewing results.
- Mobile-Optimized: Designed for mobile screens with a focus on accessibility.
Ensure you have the following installed on your machine:
- Flutter SDK
- Android Studio or Visual Studio Code
- Android or iOS simulator for testing the application
Follow these steps to install the app locally:
-
Clone the repository:
git clone https://github.com/yourusername/plant_disease_mobile_app.git
-
Navigate to the project directory:
cd plant_disease_mobile_app -
Install dependencies:
flutter pub get
-
If necessary, update the Flutter SDK and check for outdated dependencies:
flutter pub outdated flutter upgrade
-
Set up a Device: Connect your mobile device via USB or use an Android/iOS emulator.
-
Run the App:
flutter run
For hot reload:
r
-
If you encounter any issues, ensure that the device or emulator is properly set up and connected.
Here are a few resources to help you get started with Flutter development if you are new to the framework:
- Lab: Write your first Flutter app
- Cookbook: Useful Flutter samples
- Flutter Documentation
- API Reference
We welcome contributions! If you would like to contribute to the development of this project, please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add your feature'). - Push to the branch (
git push origin feature/your-feature). - Open a pull request.
Make sure to read our contributing guidelines before submitting any changes.
This project is licensed under the MIT License - see the LICENSE file for details.
Michael Ajao-Olarinoye
Coventry University
Master's Degree in Data Science and Computational Intelligence