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.
Quick Links
- Getting Started — Set up your store
- Kiosk Guide — Self-service retail terminal
- Storefront Guide — Customer shopping experience
- Merchant Guide — Dashboard, products, orders
- Developer Guide — Architecture & API