A Flask-based web application that provides machine learning-powered crop recommendations for Rwandan farmers.
# DigitalAgri — Smart Farming for Rwanda
DigitalAgri is a platform designed to empower Rwandan agricultural cooperatives and farmers with data-driven insights. By leveraging machine learning and real-time weather data, the platform provides tailored crop recommendations, planting calendars, and analytical tools to optimize agricultural productivity across Rwanda's 30 districts.
---
## Getting Started
Follow these steps to set up the project on your local machine.
### 1. Clone the Repository
```bash
git clone
cd DigitalAgri
```
### 2. Create a Virtual Environment
It is recommended to use a virtual environment to manage dependencies.
```bash
# Windows
python -m venv venv
.\venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate
```
### 3. Install Requirements
Install the necessary Python packages using pip.
```bash
pip install -r requirements.txt
```
### 4. Run the Application
Start the Flask development server.
```bash
python app.py
```
The application will be available at `
localhost`.
> Note: If you want the weather feature to work with OpenWeatherMap, add this line below line 15.
Add `OPENWEATHER_API_KEY at line 17 in `app.py` and configure your OpenWeather API key.
---
## User Guide
### 1. Signup as a Cooperative
- Navigate to the **Sign Up** page from the landing screen.
- Enter your cooperative name, email, phone number, and select your district.
- Once registered, you will be redirected to the Cooperative Dashboard.
### 2. Register a Farmer
- From the sidebar, click on **Farmers**.
- Use the "Add New Farmer" form to register farmers in your cooperative.
- Provide their name, phone number, district, farm size (Ha), and gender.
### 3. Look for Weather Forecast
- Navigate to the **Weather Forecast** section in the sidebar.
- Select a district to view real-time weather conditions and a 7-day forecast.
- This tool helps you advise farmers on the best time for planting and harvesting based on predicted rainfall a …