Skip to content

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

bun install
bun run dev

Use bun for all JavaScript package interactions. Do not substitute npm, Yarn, or pnpm.

API pattern

route → controller → service

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.