Smart Plant Disease Detection for Farmers in West Nusa Tenggara
Features โข Screenshots โข Tech Stack โข Getting Started โข Documentation
AgriVision NTB is an AI-powered mobile application designed to help farmers in Nusa Tenggara Barat (NTB), Indonesia detect, analyze, and treat plant diseases using modern technology. The app combines Azure Custom Vision for disease classification and Azure OpenAI for intelligent consultation, making agricultural expertise accessible to every farmer.
"Petani Cerdas, Pertanian Sehat" โ Smart Farmers, Healthy Agriculture
| Feature | Description |
|---|---|
| Disease Detection | Scan plant leaves using camera to detect diseases with AI |
| AI Consultation | Chat with AI agronomist for treatment recommendations |
| Outbreak Map | Interactive heatmap showing disease spread across NTB |
| Treatment Calendar | Schedule and track spraying, fertilizing, and harvest |
| Weather Dashboard | Real-time weather with farming recommendations |
| Disease Encyclopedia | Database of 80+ plant diseases with treatments |
| Plant Guide | Cultivation guide for 10 main crops in NTB |
| Pesticide Finder | Find recommended pesticides with local shop locations |
| Gamification | Earn XP and badges to encourage best practices |
| Offline Mode | Core features work without internet connection |
The app supports 5 languages to serve the diverse communities in NTB:
- ๐ฎ๐ฉ Bahasa Indonesia โ National language
- ๐ฌ๐ง English โ International access
- ๐๏ธ Bahasa Sasak โ Lombok native language
- ๐๏ธ Bahasa Sumbawa โ Sumbawa native language
- ๐๏ธ Bahasa Mbojo โ Bima native language
From left to right: Home Dashboard, Disease Outbreak Map, Treatment Calendar, Scan History, User Profile
| Technology | Purpose |
|---|---|
| Flutter 3.x | Cross-platform mobile framework |
| Provider | State management |
| Easy Localization | Multi-language support (5 languages) |
| Flutter Map | Interactive outbreak mapping |
| Camera/Image Picker | Plant leaf scanning |
| SharedPreferences | Local data persistence |
| Technology | Purpose |
|---|---|
| FastAPI | Python REST API server |
| OpenCV | Image processing & severity analysis |
| NumPy | Numerical computing |
| Service | Purpose |
|---|---|
| Azure Custom Vision | Plant disease classification model |
| Azure OpenAI (GPT-4) | AI consultation chatbot |
agrivision_ntb/
โ
โโโ lib/ # Flutter Application
โ โโโ config/ # App configuration
โ โโโ models/ # Data models (11 models)
โ โโโ providers/ # State management
โ โโโ screens/ # UI screens (18 screens)
โ โโโ services/ # API & device services
โ โโโ widgets/ # Reusable components
โ
โโโ backend/ # Python Backend
โ โโโ main.py # FastAPI server
โ โโโ requirements.txt # Python dependencies
โ
โโโ assets/
โ โโโ translations/ # i18n files (5 languages)
โ โโโ content/ # Disease & plant data
โ โโโ images/ # Static images
โ
โโโ docs/ # Documentation
โโโ MODELS.md # Data model documentation
โโโ SCREENS.md # Screen documentation
- Flutter SDK 3.x
- Python 3.9+
- Azure account (for AI services)
# Clone the repository
git clone https://github.com/yourusername/agrivision-ntb.git
cd agrivision-ntb
# Install Flutter dependencies
flutter pub get
# Create environment file
cp .env.example .env
# Edit .env with your Azure API keys
# Run the application
flutter run# Navigate to backend directory
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the server
uvicorn main:app --reload --host 0.0.0.0 --port 8000Create a .env file in the root directory:
# Azure Custom Vision
CUSTOM_VISION_ENDPOINT=your_endpoint
CUSTOM_VISION_PREDICTION_KEY=your_key
CUSTOM_VISION_PROJECT_ID=your_project_id
CUSTOM_VISION_PUBLISHED_NAME=your_iteration_name
# Azure OpenAI
AZURE_OPENAI_ENDPOINT=your_endpoint
AZURE_OPENAI_KEY=your_key
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o
โ ๏ธ Security Note: Never commit.envfile to version control. The.gitignorealready excludes it.
| Document | Description |
|---|---|
| MODELS.md | Comprehensive data model documentation (11 models, 80+ diseases) |
| SCREENS.md | UI screen documentation (18 screens) |
| Backend README | Backend API documentation |
AgriVision NTB includes 11 comprehensive data models:
| Model | Records | Description |
|---|---|---|
| Disease | 80 | Plant diseases database |
| Plant | 10 | Main crops in NTB |
| Pesticide | 20 | Available treatments |
| Weather | - | Weather & farming recommendations |
| Farm | - | Farm management |
| ScanResult | - | Disease scan results |
| Prediction | - | AI outbreak predictions |
| AgroShop | 12 | Local agricultural shops |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
AgriVision NTB Team โ Microsoft Imagine Cup 2026
This project is licensed under the MIT License - see the LICENSE file for details.
Made with โค๏ธ for farmers in Nusa Tenggara Barat




