FlowerShop — Nairobi Atelier
A full-stack marketplace connecting customers with local flower farmers — from browse to cash-on-delivery.
FlowerShop is a floriculture online sales system built as a role-based marketplace. Customers browse fresh arrangements, build a cart, pay by cash-on-delivery or M-Pesa, and track orders. Farmers manage their catalog, confirm and deliver orders, and see sales stats. Admins verify farmers, oversee dispatch, and review reports. The frontend is a Next.js 16 App Router app; the API is a Go/Gin service backed by PostgreSQL.
Screenshots






What it does
A role-based marketplace. Full-stack floriculture marketplace pairing a customer storefront with farmer and admin dashboards, built on Next.js and Go.
Customer storefront
Browse, search, and sort the catalog, save favorites, manage a cart, and check out with cash-on-delivery or M-Pesa.
Farmer dashboard
Create and edit floral listings with live stock levels, handle incoming orders, confirm deliveries, and view sales stats.
Admin console
Verify pending farmers, oversee and dispatch all orders, and review reports on top customers and products.
Auth & roles
JWT-secured sign-up, login, and token refresh with customer, farmer, and admin route guards.
Tech stack
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- Zustand
- React Hook Form
- Zod
- Go 1.25
- Gin
- GORM
- PostgreSQL
- JWT
- M-Pesa Daraja
- Cash on Delivery
- Docker Compose
Want the full story?
Happy to walk through the architecture, trade-offs, or anything else.