Trust-gated marketplace for Uganda. Fastify + Postgres backend (12 modules, 91 tests) + Kotlin/Compose Android client.
# 🛒 ScottsTechX Commerce OS
### *Trust-gated marketplace for Uganda — Fastify + Postgres backend with a Kotlin/Compose Android client.*
---
## ✨ What is this?
A **production-ready marketplace platform** built for Uganda-style mass-market use:
- 🛡️ **Trust-gated** — every action gated by JWT + role + trust score
- 🏪 **Three-sided** — buyer / seller / driver flows in one codebase
- 🤖 **AI seller + customer assist** — Gemini-powered chat for listings & support
- 📍 **Location-ranked nearby sellers** — geo queries on Postgres
- 💸 **Mobile-money native** — built for MTN/Airtel, not cards
- 🔐 **Google One-Tap sign-in** — frictionless Android auth
- 🧱 **Modular monolith** — 12 feature modules, easy to extract later
---
## 🧱 Backend (12_Backend/)
**Stack:** Fastify 5 · TypeScript · PostgreSQL 16 · Zod · `jose` (JWT) · `embedded-postgres` · Vitest
```
12_Backend/
├── src/
│ ├── server.ts
│ └── modules/
│ ├── auth/ # JWT + Google One-Tap
│ ├── sellers/ # seller onboarding, listings
│ ├── orders/ # cart, checkout, order state machine
│ ├── payments/ # mobile-money adapter
│ ├── reviews/ # ratings + abuse signals
│ ├── trust/ # trust-score + gate enforcement
│ ├── chat/ # buyer↔seller messaging
│ ├── logistics/ # driver matching, route hints
│ ├── fx/ # UGX/USD/EUR rate snapshots
│ ├── ai/ # Gemini-powered assist
│ └── audit/ # tamper-evident event log
├── migrations/
├── test/ # 91 vitest tests
├── Dockerfile
├── render.yaml # one-click Render deploy
└── openapi.json
```
**Run:**
```bash
cd 12_Backend
npm install
cp .env.example .env # fill JWT_SECRET, DATABASE_URL
npm test # 91 tests pass
npm run dev # listens on :3001
```
**Deploy (one click):** Render Blueprint in `render.yaml` provisions API + managed Postgres automatically.
---
## 📱 Android (android-app/)
**Stack:** Kotlin · Jetpack Compose …