Sumwork is a shared expense tracker for trips, households, and friend groups. The current version establishes the product shell and the calculation engine; the next contributor owns the core expense-management interface.
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000.
Set NEXT_PUBLIC_SUPABASE_URL and
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY in .env.local. Browser and server
helpers live in src/utils/supabase, and src/proxy.ts refreshes auth sessions.
npm run lint
npm test
npm run buildsrc/domain/expenses.tscontains framework-independent balance logic.src/data/demo-group.tssupplies temporary data for the app shell.src/featurescontains feature-owned presentation and orchestration.src/servercontains authenticated reads, writes, persistence, and validation.src/componentscontains shared and marketing-only UI.src/utils/supabasecontains browser, server, and session helpers.src/app/page.tsxrenders the current dashboard.supabase/migrationscontains the versioned persistence model.CONTRIBUTING.mdis the handoff for the next contributor.docs/ARCHITECTURE.mdexplains boundaries and future integration.
Money is stored and calculated as integer cents. The UI currently uses PHP.