Skip to content

Basket — E-Commerce Platform

Multi-Store E-Commerce Made Simple

Basket is a multi-tenant e-commerce platform that powers three distinct store modes: self-service Kiosk, customer-facing Storefront, and full Merchant Dashboard with inventory, orders, and analytics.


Overview

Basket is a full-featured e-commerce platform built for Singapore businesses. It supports three operational modes that can be used independently or together:

Mode Purpose Best For
Kiosk Self-service retail terminal Physical stores, pop-ups, events
Storefront Customer-facing online shop DTC brands, online stores
Dashboard Merchant admin panel Inventory, orders, analytics

Key Capabilities

  • Multi-tenant architecture — Each store is isolated with its own products, orders, and customers
  • Singapore payment gateways — Stripe, PayNow, GrabPay integration
  • Real-time updates — WebSocket-powered live order notifications
  • Custom domains — Each store can use its own domain
  • Cloudflare-powered — Deployed on Cloudflare Workers for global performance

Architecture

Basket runs on SvelteKit + Supabase deployed to Cloudflare Workers. The platform uses:

  • Database: Supabase (PostgreSQL) for products, orders, customers, and store config
  • Payments: Stripe for card payments, PayNow QR and GrabPay for local payments
  • Real-time: WebSocket connections for live order status updates
  • Storage: Cloudflare R2 for product images and assets
  • Search: Full-text product search via Supabase

How Multi-Tenancy Works

Each store is a separate app_slug entry in the shared database. Products, orders, and customers are scoped to the store's app_slug, ensuring complete data isolation between merchants.