An application that provide farmers with access to fair markets as well as create trusted farm records in Rwanda
# AgriBridge
AgriBridge is a full-stack farm operations app for smallholder farming workflows. It helps a farmer register farms, add crops, track crop stages, log farm activities, review market prices, and view alerts from a single dashboard.
## What The App Does
- OTP-based sign in and registration flow for farmers
- Farm registration with area and district details
- Crop registration with plot, area, planting date, and stage
- Farm activity logging for planting, irrigation, weeding, harvest, and more
- Crop, farm, and activity management from their designated pages
- Dashboard summaries for farms, planted area, crop mix, and season flow
- Market price browsing
- Alerts endpoint integration
## Tech Stack
### Frontend
- React 18
- Vite
- React Router
- Zustand
- Axios
- Tailwind CSS
### Backend
- FastAPI
- SQLAlchemy
- PostgreSQL
- Pydantic
- Uvicorn
## Project Structure
```text
agridbridge-v1/
|-- backend/
| |-- app/
| | |-- api/
| | |-- core/
| | |-- db/
| | |-- services/
| | `-- main.py
| |-- requirements.txt
| `-- Dockerfile
|-- frontend/
| |-- src/
| | |-- components/
| | |-- pages/
| | |-- api/
| | `-- store/
| |-- package.json
| `-- vite.config.js
|-- docker-compose.yml
`-- README.md
```
## Main Pages
- `/login` and `/register`: OTP authentication flow
- `/`: Dashboard
- `/farms`: register, edit, and delete farms
- `/crops`: register, edit, and delete crops
- `/record`: log, edit, and delete activities
- `/market`: market price browsing
## API Overview
The frontend talks to the backend through the `/api/v1` prefix.
Main route groups:
- `/api/v1/auth`
- `/api/v1/farms`
- `/api/v1/crops`
- `/api/v1/activities`
- `/api/v1/market`
- `/api/v1/alerts`
Health check:
- `GET /health`
Swagger docs:
- `
localhost`
## Authentication Notes
This project currently uses a development OTP flow.
- `POST /api/v1/auth/request-otp` returns the configured development OTP in the response
- `POST …