MoneyTracker is a full-stack personal finance manager built as a modern learning & portfolio project.
It helps you track accounts, transactions, categories, merchants, and receipts — with a clean architecture and AI-powered extensions.
- 📊 Manage accounts (cash, bank, credit, crypto, etc.)
- 🧾 Record transactions (income, expenses, transfers)
- 🗂️ Organize categories and merchants
- 📷 Attach receipts (AI-ready for OCR & auto-categorization)
- 🔒 Secure authentication (with future 2FA support)
- 🚀 Built with a modular monorepo architecture
Frontend – apps/web
- React + Vite
- shadcn/ui + TailwindCSS
- React Router v7
- TanStack Query + Zustand + Zod
Backend – apps/api
- Fastify (Node.js)
- Prisma ORM
- PostgreSQL
- Redis (planned)
Receipts Service – apps/receipts
- Python microservice
- OCR & AI auto-categorization (future)
apps/
web/ # React frontend
api/ # Fastify + Prisma backend
receipts/ # Python microservice (OCR/AI)
packages/
db/ # Prisma schema & client
infra/ # (future) Docker, deploy, CI configs
git clone git@github.com:albelko/moneytracker.git
cd moneytrackerpnpm installcp .env.example .env
pnpm --filter @moneytracker/db prisma migrate devFrontend:
pnpm --filter @moneytracker/web devBackend:
pnpm --filter @moneytracker/api devMIT – feel free to use and modify.
- User authentication & 2FA
- Receipt OCR + auto-categorization
- Reports & analytics dashboards
- Dockerized local dev setup
- Deployment guides (Vercel / Fly.io / Railway)
This project is mainly for personal use & portfolio, but suggestions and ideas are welcome! Open an issue or PR to discuss improvements.