AgroLink SL — Sierra Leone farm-to-buyer marketplace. React Native + Expo SDK 54 + Firebase + Gemini AI.
# 🌾 AgroLink SL
**Sierra Leone's Farm-to-Buyer Mobile Marketplace**
Connect smallholder farmers directly with urban buyers — no middlemen, fair prices, real-time delivery tracking, and AI-powered farming advice.
---
## Tech Stack
| Layer | Technology |
|---|---|
| Framework | React Native 0.81.5 + **Expo SDK 54** |
| Language | TypeScript 5.9 (strict mode) |
| Navigation | Expo Router 6 (file-based) |
| Backend | Google Firebase (Auth + Firestore) |
| AI Assistant | Google Gemini 1.5 Flash (AgroBot) |
| Payments | Orange Money · Africell Money · Cash on Delivery |
| State | React Context (useAuth, useCart, useProducts) |
---
## Features
- **Dual Role System** — separate experiences for Farmers and Buyers
- **Live Market** — 24 seeded products across 8 categories
- **AgroBot AI** — Gemini-powered farming assistant with offline fallback
- **Order Tracking** — animated 5-step delivery timeline
- **Mobile Money** — Orange Money & Africell Money PIN simulation
- **Farm Coins** — loyalty reward system for buyers
- **Farmer Dashboard** — inventory, orders, and revenue analytics
- **Flash Deals** — featured discounted products on home screen
---
## Quick Start
### 1 — Clone & install
```bash
git clone
github.com
cd agrolink-sl
npm install
```
### 2 — Start the app
```bash
npx expo start --clear
```
Scan the QR code with **Expo Go** on your phone, or press `w` to open in browser.
### 3 — Seed the database (first time only)
```bash
node scripts/seed.mjs
```
### 4 — Test both roles
- Register as **Farmer** → go to "My Farm" tab → add products → manage orders
- Register as **Buyer** → browse market → add to basket → checkout → track delivery
---
## Project Structure
```
app/
tabs/ # Bottom nav screens (Home, Cart, Dashboard, Orders, AgroBot, Profile)
orders/[id].tsx # Order detail + delivery tracking
product/[id].tsx# Product detail
ai-assistant.tsx# AgroBot full chat screen
checkout.tsx # Order checkout
payme …