CK
Back to projects
01Case study

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.

02Gallery

Screenshots

Storefront home with same-day delivery hero
Storefront home with same-day delivery hero
Customer sign-in
Customer sign-in
Account registration
Account registration
Farmer catalog with live stock levels
Farmer catalog with live stock levels
Order management
Order management
M-Pesa and COD settlement view
M-Pesa and COD settlement view
03Highlights

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.

04Stack

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.