Multi-vendor SaaS marketplace for Uganda
# MyMarket.ug 🇺🇬
A mobile-first multi-vendor SaaS marketplace for Uganda. Vendors get their own shop
(`theirname.mymarket.ug`), customers browse freely without login, and the admin
approves vendors and tracks payments.
**A product of Jordan Design Hub** — Mubogi Gastavas
Jordan Tech Ecosystem (Innovation, Education, Apps, Media & AI Solutions, Uganda).
Contact: jordandesignhub@gmail.com · WhatsApp +256 754 687597
## Features
- **Customers**: browse/search/filter products by city & category — no login needed
- **Vendors**: dashboard with Products (10 free/month), Analytics (views + WhatsApp clicks, graph), Payments, Market Day booking, Ad requests
- **Admin** (`/admin`): approve/verify vendors, mark payments paid, create market days, launch ad campaigns, see expiring subscriptions
- **Monetization**: UGX 10,000 setup · UGX 5,000/month subscription · UGX 5,000 pro-upload · UGX 5,000/day boost · UGX 2,000–5,000 market days · ad budgets
- **Market Day banner**: scrolling marquee on every page for market days in the next 3 days
- **Subdomain shops**: `slug.mymarket.ug` renders the vendor shop (falls back to `/shop/ `)
- **PWA**: installable on phones, service worker + push notification plumbing
- **Cron endpoint**: `/cron/daily?secret=...` deactivates expired vendors, resets monthly upload counters on the 1st, expires stale boosts, and sends each vendor a daily "N new shop views" push digest
- **Real payments (Flutterwave)**: vendors tap "Pay with Mobile Money" → hosted Flutterwave checkout (MTN MoMo / Airtel Money) → webhook verifies and activates the purchase automatically. Without API keys it falls back to manual "admin marks paid"
- **Web Push**: "New vendor joined" broadcast, "Product boosted" alerts, daily view digests (VAPID + pywebpush)
- **Image compression**: uploads are auto-resized to max 1000px and JPEG-optimized (a 3MB photo becomes ~6KB) — fast on 3G
- **Ratings & reviews**: customers review products without login; stars show on product pages and car …