Offline-first agricultural marketplace for Zimbabwe
# ZimAgriChain 🌾
**Offline‑first agricultural marketplace for Zimbabwe**
ZimAgriChain connects smallholder farmers with transporters and buyers – even when internet is unavailable. Farmers can post harvest listings with precise map locations, drivers bid on transport (with distance calculation), and farmers accept/reject bids. The platform includes email verification, password reset, order history, and live driver location sharing.
---
## ✨ Features
- **Offline‑first** – Farmers create listings without internet (saved locally, syncs later)
- **Role‑based dashboards** – Farmer, Driver, Buyer views with tailored actions
- **Live password strength & confirmation** – Secure sign‑up with real‑time feedback
- **Email notifications** – Farmer gets email on new bid; Driver gets email when bid accepted
- **Accept / Reject bids** – Farmer reviews and accepts the best transport offer
- **Map pickers** – Farmers select pickup and destination locations on interactive maps (search, current location, click)
- **Driver distance calculation** – Drivers see distance from their current location to each listing
- **Live driver location sharing** – After bid acceptance, driver's location updates every 10 seconds (visible to farmer)
- **Order history** – All users can view their completed transactions
- **Email verification** – New users must verify email before full access
- **Password reset** – “Forgot password” flow via email
- **Concurrency safe** – Bid acceptance uses Firestore transactions to prevent double‑accept
- **Role‑based access control (RBAC)** – Backend endpoints enforce user roles (farmer/driver/buyer)
- **Firestore security rules** – Protect data per user role
- **Immutable transaction log** – Blockchain‑inspired records for completed deals
- **PWA ready** – Progressive Web App manifest + service worker (offline caching)
---
## 🛠️ Tech Stack
| Layer | Technology |
|--------------|------------- …