Skip to content

Lif28/MyFinance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

MyFinance

Simple personal finance tracker with interactive charts.

Money Manager is a lightweight desktop/web application built with NiceGUI that allows you to track income and expenses, categorize transactions, and visualize your financial data with charts. Everything is stored locally in a JSON file — no accounts, no cloud, just your data.


image
License Platform Python

Features

  • Income & expense tracking: Easily add and categorize transactions
  • Custom categories: Separate categories for income and expenses
  • Interactive charts:
    • Income distribution (pie chart)
    • Expense distribution (pie chart)
    • Total balance per category (bar chart)
  • Edit & delete entries: Full control over your data
  • Local storage: Data is saved in a JSON file
  • Minimal UI: Clean and simple interface using NiceGUI

Quick Start

Prerequisites

  • Python 3.11 or higher

Installation

  1. Clone the repository

Open a terminal in your home directory and type:

git clone https://github.com/Lif28/MyFinance.git
cd MyFinance/MyFinance
  1. Create a virtual environment and install nicegui
python3 -m venv MyFinance-venv

On Windows:

MyFinance-venv\Scripts\activate
pip3 install nicegui

On Linux:

source MyFinance-venv/bin/activate
pip3 install nicegui
  1. Run the application
python3 main.py

Usage

image

Adding Income

  1. Select a category (e.g. Salary, Investments)
  2. Enter an amount
  3. (Optional) Add notes
  4. Click Save
image

Adding Expenses

  1. Select a category (e.g. Shopping, Transport)
  2. Enter an amount
  3. (Optional) Add notes
  4. Click Save
image

Managing Entries

  • Delete: Select one or more rows and click Delete
  • Edit: Select a row and click Edit
image

Charts

The application provides three real-time charts:

  • Income Pie Chart: distribution of income sources
  • Expense Pie Chart: distribution of expenses
  • Total Bar Chart: total of income - expenses

How It Works

Data Storage

All data is stored locally in a JSON file:

MyFinance/data.json

Each entry has the following structure:

{
  "Category": "Shopping",
  "Amount": "75",
  "Notes": "Shoes",
  "Date": "2026-04-01 16:45:00"
}

Project Structure

MyFinance/
├── main.py             # Main application logic and UI
├── data.json           # Data storage (auto-created)
├── icon.png            # Default Image
├── icon.ico            # Icon
└── README.md           # Documentation

Dependencies

nicegui

Disclaimer

This software is provided "as is" without warranty of any kind. The developer is not responsible for data loss, or incorrect financial calculations.

Deployment

MyFinance is designed to run locally or on a home server for continuous access.

A recommended setup is running the application on a Proxmox server (or any Linux server), allowing you to access your finance dashboard from any device on your network. If you decide to do so, update the last line in main.py with your server’s IP. Save and restart the app to apply the change.

About

A lightweight desktop/web app built with NiceGUI to track income and expenses. Add transactions, categorize them, and visualize your financial data with interactive charts. All data is stored locally in a JSON file — no accounts, no cloud, just your data.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages