tee. Coffee Management System
A multi-branch coffee shop platform on Cloudflare Workers: POS, Kitchen Display, HQ back office, a customer wallet, and a platform-operator Super Admin console.
Apps
| App | Purpose |
|---|---|
apps/pos | Cashier POS — offline-capable, PIN login, KHQR/ABA PayWay/cash |
apps/kds | Kitchen Display — realtime ticket feed |
apps/hq | Branch back office — menu, staff, inventory, reports |
apps/customer | Customer wallet — points, tier, order history |
apps/superadmin | Platform operator console — tenants, integrations, backups |
apps/api | Hono + D1 + KV + Durable Objects Worker — the REST API all five apps call |
Where to start
- Quickstart — clone, install, seed, run locally
- API Reference — every route grouped by area
- Ops Runbook — SEV1/2/3 incidents and what to actually type
- Deployment — secrets, migrations, per-app deploy commands
Architecture
apps/pos, kds, hq, customer, superadmin → static, deployed to Cloudflare Pages
apps/api → Hono Worker, deployed to Cloudflare Workers
├─ D1 (SQLite) transactional data
├─ KV sessions, caches, rate limits, integration config
├─ R2 (tee-backups) nightly D1 snapshot
├─ R2 (tee-analytics) nightly raw order/item JSONL export
└─ Durable Objects realtime KDS ticket push
Every credential-backed integration (Bakong, ABA PayWay, GrabFood, Nham24, SMS, GA4, Meta Pixel, Sentry) is configured at runtime through the Super Admin console — no redeploy needed to go from sandbox to live once a real account exists. See the Integrations page.