Engineering start here¶
SAGIO is a Bun/Turbo monorepo with four web/backend workspaces and one Android application.
| App | Stack | Purpose | Local port |
|---|---|---|---|
| API | Hono + Bun | REST API, payments, auth, integrations | 8787 |
| Merchant | React 19 + Vite | Analytics and merchant operations | 3000 |
| Wallet | React 19 + Vite + Capacitor | Consumer wallet | 3001 |
| Terminal | Android / Kotlin | Merchant POS | — |
| Landing | React 18 + Vite | Marketing site | 5173 |
Local development¶
Use bun for all JavaScript package interactions. Do not substitute npm, Yarn, or pnpm.
API pattern¶
New API behavior normally requires service logic, a controller, route registration, Zod validation, OpenAPI updates, and focused tests.
Before a pull request¶
Run the affected tests, typecheck, lint, and build. For API changes, verify OpenAPI. For money or external side effects, verify authorization, tenancy, exact representation, idempotency, uncertain outcomes, and recovery.