Skip to main content
Back to all case studies
03fajartoserba.web.id / harihariswalayan.web.id

Fajar Toserba & Harihari Swalayan

Omnichannel Retail Platform with POS, Driver PWA & WhatsApp Gateway

Complete retail commerce ecosystem for supermarkets and minimarkets serving shoppers, store admins, and delivery drivers in one unified platform.

Role
Full-Stack Systems Architect
Year
2026
Production Domain
fajartoserba.web.id / harihariswalayan.web.id

Context & Challenge

Modern retail operations required synchronized store inventory, instant catalog search across thousands of SKUs, a driver delivery app with live maps, and automated WhatsApp order notifications.

Architecture & Solution

Built a multi-portal Next.js 16 frontend (Customer, Admin, Driver PWA) with Leaflet and QR/barcode scanning, backed by Go Fiber v3 integrated with PostgreSQL, Typesense, Redis, MinIO, and Whatsmeow.

Key Implementation Details

  • Multi-subdomain deployment: customer storefront, store admin panel, and driver delivery PWA.
  • Comprehensive backend domains: POS, Inventory, Procurement, Accounting, Petty Cash, Loyalty, Returns, and Ticketing.
  • Instant product search powered by Typesense and native WhatsApp messaging via whatsmeow.
  • Automated end-to-end verification using Playwright across critical checkout flows.

System Architecture Flow

L1: Multi-Portal UI

Next.js 16 PWA (Customer, Admin & Driver Portals)

Runs customer shopping, back-office administration, and mobile driver delivery with QR/barcode scanning.

  • React 19
  • React Query
  • Zustand
  • Leaflet
  • html5-qrcode
L2: Subdomain Routing

Nginx Multi-Host Proxy

Routes main storefront, admin, and driver subdomains cleanly to frontend and Go API upstreams.

  • Nginx
  • Subdomain Routing
  • PM2
L3: Retail Engine

Go Fiber v3 Monolith (25+ Internal Domains)

Processes carts, checkout, inventory, accounting, loyalty points, and transactional WhatsApp alerts.

  • pgx/v5
  • JWT
  • Whatsmeow
  • Barcode Generator
L4: Data & Search

PostgreSQL + Typesense + Redis + MinIO + SQLite

Persists transactions, SKU search indices, session caches, product media, and WhatsApp session state.

  • PostgreSQL
  • Typesense
  • Redis
  • MinIO

Technology Stack

  • Next.js 16
  • PWA
  • Leaflet
  • Zustand
  • Go
  • Fiber v3
  • Typesense
  • PostgreSQL
  • Whatsmeow
  • Redis

Next Case Study

04 / Rabbany Ecosystem

Read Full Case Study