Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ฐ Smart Budget Tracker & Asset Allocator

Production-ready full-stack personal finance platform for budgeting, smart allocation, tax planning, and financial goal tracking.

Overview โ€ข Features โ€ข Screenshots โ€ข Tech Stack โ€ข Architecture โ€ข Quick Start โ€ข Deployment


๐Ÿ“Œ Overview

Smart Budget Tracker & Asset Allocator is a production-ready personal finance platform that helps users manage income streams, expenses, savings goals, tax planning, and smart asset allocation through a responsive full-stack dashboard.

The project combines a modern React/Vite frontend, FastAPI backend architecture, dynamic financial allocation logic, Google Sheets integration, responsive mobile-first UI, and Dockerized deployment workflows.

It is designed as a portfolio-grade engineering project demonstrating full-stack development, REST API architecture, responsive UI engineering, deployment pipelines, financial logic systems, and production-ready project organization.


๐ŸŒ Live Demo


โœจ Features

๐Ÿ’ณ Budgeting

  • Multiple income streams
  • Fixed & non-fixed expenses
  • Monthly/yearly tracking
  • Expense threshold warnings
  • Dynamic budgeting workflows
  • Editable financial logs

๐Ÿ“ˆ Financial Planning

  • Smart allocation engine
  • Savings goal tracking
  • Investment target planning
  • Tax planning workflows
  • Goal progress monitoring
  • Timeline estimations

๐Ÿš€ Engineering

  • FastAPI REST APIs
  • Responsive React dashboard
  • Mobile table scrolling
  • Dockerized architecture
  • Vercel + Render deployment
  • Google Sheets integration

๐Ÿงฑ Tech Stack


Frontend
React โ€ข Vite โ€ข CSS3

Backend
FastAPI โ€ข SQLite โ€ข SQLAlchemy

DevOps
Docker โ€ข Git โ€ข GitHub

Frontend Hosting
Vercel

Backend Hosting
Render

Integrations
Google Sheets API

๐Ÿ“ธ Screenshots

๐ŸŽฏ Current Financial Targets

Account Current Target
Chequing 1100 5000
Savings 400 20000
WealthSimple 500 10000

Monthly Income: 3600


๐Ÿ—๏ธ Architecture

flowchart TD
    A[React + Vite Frontend] --> B[FastAPI REST API]
    B --> C[SQLite Database]
    B --> D[Allocation Engine]
    B --> E[Tax Planner]
    B --> F[Goal Tracking Engine]
    B --> G[Google Sheets Import]
Loading

๐Ÿ”„ End-to-End Workflow

User Enters Financial Data
        โ†“
React Dashboard Captures Inputs
        โ†“
FastAPI Backend Validates Request
        โ†“
SQLite Stores Income, Expenses, Goals, and Logs
        โ†“
Allocation Engine Calculates Surplus, Gaps, and Priorities
        โ†“
Tax Planner Estimates Tax Impact
        โ†“
Goal Tracker Computes Progress and Timelines
        โ†“
Dashboard Displays Charts, Logs, Warnings, and Recommendations
        โ†“
Optional Google Sheets Import/Sync Updates Financial Records
        โ†“
User Reviews Monthly Logs and Adjusts Budget Strategy

System Flow

Step Description
1 User enters income, expenses, goals, and financial data
2 Frontend sends requests to FastAPI APIs
3 Backend validates and stores financial data
4 Allocation engine computes savings and goal progress
5 Dashboard visualizes financial insights
6 Logs and goals persist across sessions

๐Ÿง  Engineering Highlights

Area Highlights
Frontend Engineering Responsive React/Vite dashboard with mobile support
Backend Engineering Modular FastAPI REST architecture
Financial Logic Dynamic smart allocation engine
Mobile Optimization Horizontal table scrolling and adaptive layouts
Deployment Vercel frontend and Render backend
DevOps Dockerized deployment workflows
UX Engineering Touch-friendly responsive finance workflows
Integrations Google Sheets CSV/API synchronization

๐Ÿ“ Folder Structure
smart-budget-allocator/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”‚   โ”œโ”€โ”€ schemas/
โ”‚   โ”‚   โ””โ”€โ”€ main.py
โ”‚   โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ requirements.txt
โ”‚   โ””โ”€โ”€ Dockerfile
โ”‚
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ App.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ main.jsx
โ”‚   โ”‚   โ””โ”€โ”€ styles.css
โ”‚   โ”œโ”€โ”€ package.json
โ”‚   โ””โ”€โ”€ Dockerfile
โ”‚
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ screenshots/
โ”‚   โ”œโ”€โ”€ ARCHITECTURE.md
โ”‚   โ”œโ”€โ”€ DEPLOYMENT.md
โ”‚   โ”œโ”€โ”€ GOOGLE_SHEETS_SETUP.md
โ”‚   โ””โ”€โ”€ USER_GUIDE.md
โ”‚
โ”œโ”€โ”€ google-sheets/
โ”œโ”€โ”€ scripts/
โ”œโ”€โ”€ docker-compose.yml
โ”œโ”€โ”€ render.yaml
โ”œโ”€โ”€ .env.example
โ””โ”€โ”€ README.md

โšก Quick Start

Backend

cd backend
python -m venv venv
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

Backend:

http://localhost:8000

API Docs:

http://localhost:8000/docs

Frontend

cd frontend
npm install
npm run dev

Frontend:

http://localhost:5173

Docker

docker compose up --build

๐Ÿงพ Google Sheets Support

๐Ÿ“ฅ CSV Import

  • Export Google Sheets as CSV
  • Upload directly into application
  • Backend parses financial data
  • Automatic synchronization

๐Ÿ”— Google Sheets API

  • Google Cloud integration
  • Service account authentication
  • Live synchronization workflows
  • Multi-sheet support

See: docs/GOOGLE_SHEETS_SETUP.md


๐Ÿงฎ Smart Allocation Logic

The backend calculates:

  • current surplus
  • savings gap
  • investment gap
  • monthly goal progress
  • estimated months to goal
  • recommended allocations

Default logic:

IF chequing is below target:
    prioritize chequing + savings
ELSE IF savings is below target:
    prioritize savings + investments
ELSE:
    prioritize investments

๐Ÿ“’ Monthly Logs System

Capability Description
Yearly logs January to December tracking
Year selector Dynamic selection from 2020 to 2050
Editable cells Income and expense entries can be updated
Auto totals Monthly income, expenses, and balance are calculated
Current month sync Ongoing month updates reflect across related tabs
Responsive view Horizontal scrolling for mobile screens

๐Ÿ“ฑ Mobile Support

The application is optimized for:

  • Android
  • iPhone
  • tablets
  • desktop browsers

Mobile features include:

  • horizontal table scrolling
  • responsive layouts
  • adaptive spacing
  • touch-friendly navigation
  • scrollable financial tables
  • mobile-first dashboard workflows

๐Ÿš€ Deployment

Layer Platform
Frontend Vercel
Backend Render
Database SQLite
Containers Docker
Environment Config .env files

Deployment Files Included

frontend/vercel.json
frontend/.env.production.example
frontend/.env.local.example
backend/start.sh
render.yaml
docker-compose.yml
docs/DEPLOYMENT.md

๐Ÿ› ๏ธ One-Click Startup Scripts

Run:

start-app.bat

This automatically:

  • creates backend virtual environment
  • installs dependencies
  • launches backend/frontend
  • opens browser automatically
  • enables same-network mobile access

Stop local servers:

stop-app.bat

๐Ÿ”ฎ Future Improvements

Priority Improvement
High JWT authentication
High PostgreSQL migration
Medium AI-powered financial insights
Medium Investment analytics dashboard
Medium Cloud synchronization
Low Email reminders
Low Financial forecasting
Low Multi-user collaboration

๐Ÿ“„ License

This project is licensed under the MIT License.


โš ๏ธ Disclaimer

This project is intended for budgeting, financial organization, and planning purposes only.

It does not provide legal, tax, financial, or investment advice.

About

A full-stack personal finance and Canadian tax planning platform that helps users manage income, expenses, budgeting, financial goals, asset allocation, and optimize TFSA, FHSA, and RRSP contributions in one centralized application.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages