Bilingual crop advice and market prices for African formers
# π± AfriCrop
**Crop advice and market prices for African farmers, in English and French.**
AfriCrop is a mobile-first web app that gives smallholder farmers practical,
location-aware guidance: a live local weather forecast, plain-language advice on
when to plant and water their crop, pest watch-outs, and current market prices.
The whole interface works in both English and French.
This repository is a focused, working slice of a larger agricultural super-app
concept. It is built to demonstrate a real full-stack architecture rather than a
single-file demo.
> β οΈ The advice is general guidance for a prototype. It is not a substitute for
> local agricultural extension services, and the UI says so.
---
## β¨ What it does
- **Find your location** by search (any town/city) or one-tap geolocation.
- **Pick a crop** from common African staples (maize, cassava, beans, tomato, rice, sorghum).
- **See live weather** for the next 7 days, pulled from the Open-Meteo API.
- **Get crop advice**: planting window, irrigation guidance, and pest watch, all
computed from the real forecast by a dedicated Python rules engine.
- **Check market prices** across regional markets, with price trends.
- **Switch language** between English and French instantly β both are first-class.
---
## π§± Architecture
AfriCrop is built as three small services, which is how real products are
structured (separation of concerns, independent scaling, language-appropriate
tools for each job):
```
βββββββββββββββββββ ββββββββββββββββββββββββ ββββββββββββββββββββββββββ
β React frontend β ββββΆ β Node API gateway β ββββΆ β Python advice service β
β (Vite, mobile) β β (Express) β β (FastAPI rules engine) β
βββββββββββββββββββ ββββββββββββββββββββββββ ββββββββββββββββββββββββββ
β β
β geocoding β live forecast
βΌ βΌ
Open-Meteo (geocode) Open-Meteo (weather)
```
- **`frontend/`** β React + Vit β¦