DukaGuard — Uganda Agricultural Input Certification & Dealer Trust Platform
# 🌿 DukaGuard — Agricultural Input Authentication & Dealer Trust Platform
> Protecting Ugandan farmers from counterfeit agricultural inputs through CV-powered verification, crowd-sourced reporting, and dealer trust scoring.
---
## đź“– Overview
DukaGuard is a comprehensive platform designed to combat counterfeit agricultural inputs (seeds, fertilizers, pesticides, veterinary products) in Uganda. It serves four key user roles:
- **Farmers (P1)** — Scan product labels to verify authenticity, report suspected fakes
- **Dealers (P2)** — View their trust scores, manage verification history
- **Brands / Manufacturers (P3)** — Monitor product authenticity, receive fraud alerts
- **Regulators (P4)** — Track risk across districts, manage investigation queue
### Key Features
| Feature | Description |
|---------|-------------|
| **Product Verification** | Three methods: CV scan, official code lookup, composite scoring |
| **Trust Scoring** | Algorithm-based dealer trust scores with contributing factors |
| **Crowd Reporting** | Farmers report suspected counterfeit products with geo-location |
| **Batch Tracking** | Full batch lifecycle management with recall support |
| **Risk Heatmaps** | District-level risk visualization for brands and regulators |
| **USSD Support** | Offline-friendly verification via USSD (feature-phone compatible) |
| **Bilingual** | English & Luganda (local language support) |
| **ML Model Management** | Version tracking for on-device CV models |
---
## 🚀 Quick Start
### Prerequisites
- **Bun** (recommended) or Node.js 18+
- A terminal / command prompt
### 1. Clone & Install
```bash
git clone
github.com
cd dukaguard
bun install
```
### 2. Set Up the Database
```bash
# Generate the Prisma client
npx prisma generate
# Push the schema to create SQLite tables
npx prisma db push
# Seed with 432 demo records (27 users, 6 dealers, 11 products, 241 verifications, 100 reports...)
bunx tsx prisma/seed.ts
```
### …