What is Budgeti Backend
Budgeti is a full-stack mobile finance app for people who want a practical tech solution to manage personal finances.
This page explains where the backend fits in that product: a TypeScript/Express API that powers core workflows (authentication, wallets, categories, transactions, budgets, dashboard analytics) and AI-assisted ingestion.
Why Budgeti
Section titled “Why Budgeti”Budgeti focuses on everyday pain points:
- Limited visibility of spending patterns.
- Inconsistent transaction logging.
- Friction in shared-finance collaboration.
Product promise: Register quickly and decide better.
Mobile-first positioning with useful AI means the product optimizes for fast capture now and better insights over time.
Core mission
Section titled “Core mission”- Provide reliable financial CRUD and aggregate analytics over versioned REST routes.
- Enforce auth, rate limiting, request validation, and centralized error mapping.
- Keep domain logic isolated from framework details using layered architecture and DI.
Documentation scope
Section titled “Documentation scope”- This docs site is backend-first because backend is the component ready for deep technical documentation.
- Full product context is included so implementation decisions stay aligned with the mobile app vision.
- Intended readers are developers and technical collaborators onboarding into the current codebase.
AI now and next
Section titled “AI now and next”- Current MVP AI: receipt OCR capture assistant and voice-command transaction entry.
- Roadmap direction: evolve from capture-only assistance toward deeper, more agentic finance insights.
- Product goal: become an integral app where people centralize finances.
Runtime surface
Section titled “Runtime surface”- API base:
/api/v1. - Health endpoint:
GET /health. - Protected modules use Bearer JWT via middleware.
Main stack
Section titled “Main stack”- Runtime: Node.js + TypeScript + Express 5.
- Data: Prisma 7 + PostgreSQL.
- Validation: Zod.
- DI: Inversify container.
- Testing: Vitest + Supertest.
- AI integrations: OpenAI-based OCR and voice parsing.
Repository anchors
Section titled “Repository anchors”- App bootstrap:
backend/src/app.ts. - Route registration:
backend/src/Presentation/Routes/Index.ts. - Dependency container:
backend/src/Containers/inversify.config.ts.