Personal Expense Tracker

Family Finance Management with Multi-Currency Support

Personal Project by Igor Kudinov

Full-stack application for comprehensive tracking and analysis of family financial flows. Built with modern Go backend and responsive Vue.js frontend, featuring real-time analytics, multi-currency support (RSD/EUR), gRPC API for mobile integration, and a Flutter mobile client.

Key Features

  • Multi-currency support with RSD base and EUR conversion
  • Real-time financial analytics and spending pattern analysis
  • Family member management with shared financial context
  • Flexible categorization system for expenses and income
  • Account management across cash, bank accounts, and savings
  • Dual-protocol API: REST for web, gRPC for mobile client
  • Flutter mobile client communicating via gRPC (read-only v0.4.0)
  • Responsive Vue.js interface optimized for mobile and desktop
Project Status

Demo is live! Full-stack expense tracker with Go backend, Vue.js frontend, PostgreSQL database, and gRPC API for mobile integration. Try the demo to explore all features including accounts, categories, transactions and financial reports. Flutter mobile client (v0.4.0) is in active development, connecting via gRPC at 46.224.29.194:50051.

Repository Structure

expense-tracker — monorepo with backend, frontend, mobile and documentation.

/backend — Go REST API service, domain logic, authentication, sqlc integration.

/frontend — Vue.js 3 responsive SPA with views for transactions, accounts and analytics.

/db — PostgreSQL schema, migrations and seed data for local development.

/proto — protobuf definitions for gRPC services (AccountService, TransactionService).

/Documentation — BRD, SRS, TDD and Functional Specifications describing business context and system behaviour.

Tech Stack

Go Backend PostgreSQL Vue.js 3 REST API gRPC protobuf Flutter JWT Auth Docker sqlc Chi Router Multi-tenant