Skip to content

0005. Three ways to run, one codebase

  • Status: Accepted
  • Date: 2026-10-27

A small café with one tablet needs no server. A busier restaurant wants several devices sharing orders through a hub on its own network. Others prefer a server on a VPS. Maintaining separate products for each would split the project.

One codebase supports three setups: a single POS device on its own (single-device mode, the default for a new install), devices plus a hub on shop hardware, and devices plus a self-hosted server anywhere. Every event and row carries tenantId and outletId from day one, even though the MVP has one of each.

  • A single-device shop can grow into hub mode by uploading its existing log to a new hub, with no data loss.
  • Code must not assume a single tenant or outlet, which keeps multi-outlet features and a future hosted fork possible.

For AI tools: llms.txt ·llms-full.txtopenkedai.com