Infinity Financial MVP

Next.js monolith + worker scaffold

The project is now structured for the chosen stack: one web app for dashboard and API, one TypeScript worker for background jobs, and Supabase/PostgreSQL as the system of record.

Web

Dashboard API

Balances, order-centric summaries, review counters, and transaction views live in the same Next.js app.

Worker

Background Worker

Telegram ingestion, OCR jobs, bank reconciliation, and PlanFix writeback stay out of the request path.

Shared

Shared Domain

Parsing rules, DTOs, order matching, and sync payload builders are shared between web and worker.

Active orders

161

Income

0 ₴

Expense

0 ₴

Margin

0 ₴

Review items

5

Pending sync

0

Scaffolded API surface

  • `/api/v1/me`
  • `/api/v1/reference/summary`
  • `/api/v1/orders`
  • `/api/v1/transactions`
  • `/api/v1/threads`
  • `/api/v1/source-events`
  • `/api/v1/documents`
  • `/api/v1/dashboard/balances`
  • `/api/v1/sync-jobs`
  • `/api/v1/webhooks/telegram`
  • `/api/v1/webhooks/monobank`

Next steps

  • Swap mock repositories for Supabase-backed ones.
  • Add auth and role-aware server guards.
  • Implement transaction confirm/correct flows.
  • Wire worker polling to `infi_fin_sync_jobs`.
  • Connect PlanFix and Telegram providers.

Worker command

npm run worker:dev