Logo Lanfrica

Faithirakoze/agridbridge-v1

Domain:

agriculture

Record type:

software
Creator:
Fai
Host:
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 …