Skip to main content

Quickstart

git clone <repo>
cd tee.PP
npm install

Local dev

npm run dev:api # Worker on :8787 (wrangler dev)
npm run dev:pos # :5173
npm run dev:kds # :5174
npm run dev:hq # :5175
npm run dev:customer # :5176
npm run dev:superadmin # :5177

Each frontend's vite.config.ts proxies /api to localhost:8787 in dev, so no VITE_API_URL override is needed locally.

Database

Migrations live in apps/api/migrations/, applied in numeric order:

cd apps/api
npx wrangler d1 execute tee-db --local --file=migrations/0001_initial_schema.sql
# ...repeat for every migration file in order, or use the deploy script's loop

Against production, swap --local for --remote.

Test accounts

No demo credentials are shown on any login page (see the main README for the current seeded accounts and how to create more via HQ → Staff).

Tests

npm run test -w apps/api # Vitest — pure logic (pricing, promos, TOTP, ABA PayWay hash, ...)
npm run test:e2e -w apps/e2e # Playwright — runs against a live deployment