Skip to content

fy3301/expense-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expense Tracker Application

A desktop-based expense tracking application built using Python, SQL, and Tkinter that allows users to manage financial data and visualize spending patterns.


Overview

This project is a complete expense management system where users can create accounts, store transaction data in a relational database, and generate graphical analyses of their expenses.
The application focuses on clarity, data organization, and transforming raw data into meaningful insight.


Motivation

I built this project to understand how data-driven applications are structured end-to-end — from user input and database design to querying and visualization.
I was particularly interested in how abstract concepts like relational tables and queries translate into tools that help users reflect on real-world behavior.


Features

  • User account creation and management
  • Relational database structure using SQL
  • Add, edit, and store expense records
  • Graphical analysis of spending patterns
  • Desktop GUI built with Tkinter

Technical Stack

  • Language: Python
  • Database: SQL (relational database)
  • GUI: Tkinter
  • Visualization: Python-based graphing tools

System Design

  • Data is stored in structured SQL tables linked through user-specific relationships
  • Queries aggregate and filter expenses for analysis
  • The GUI serves as an abstraction layer between the user and the database

This design emphasizes separation between data storage, logic, and presentation.


Challenges & Learning

One of the main challenges was debugging interactions between the GUI and the database, where small logical errors could propagate across the system.
Through iterative testing and restructuring, I learned how thoughtful data modeling simplifies both querying and user interaction.


Reflection

This project reinforced the importance of persistence when building interconnected systems.
It helped me see how careful design choices in data structures directly affect scalability, clarity, and user trust.


Previews

Below are selected screenshots illustrating key parts of the application.

Screenshot 2025-08-18 174504 Screenshot 2025-08-18 174635 Screenshot 2025-08-18 175020 Screenshot 2025-08-18 175026 Screenshot 2025-08-18 174939

Notes

This project was built as an independent learning exercise and is demonstrated in my video portfolio, where I explain the design decisions and development process.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages