Skip to content

About

Term Project for CPSC 210

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

51 Commits

Folders and files

Repository files navigation

Financial Tracker

A helper that tracks your finance

Proposal

This application will be a financial tracker that allows users to track their expense, investments, and savings overtime. Users will also be able to easily track their financial progress using a graph that graphs out their overall expenses and income over time. Although there is no restriction to who can use this program, the program is more geared towards adults who want to track there finances more effectively, especially those with multiple accounts, investments, and incomes.

As I am almost 19 years old and strating university, I am beginning to be responsible for my own finances such as groceries and saving my money for the future. I believe that this project will be a valuable tool and allow me to get a better understanding of my finances.

User Stories

Phase 0/1

  • As a user, I want to be able to add a finance record to my portfolio
  • As a user, I want to be able to view the list of all my financial records
  • As a user, I want to be able to update or edit a financial record if I entered it incorrectly.
  • As a user, I want to be able to remove a financial record from my list
  • As a user, I want to be able to categorize my financial record to better organize them

Phase 2

  • As a user, I want to be able to save portfolio to file (if I so choose)
  • As a user, I want to be able to be able to load my portfolio from file (if I so choose)

Example Entry logs

Fri Nov 28 13:22:16 PST 2025

New Entry added.

Fri Nov 28 13:22:16 PST 2025

Viewed/displayed all record entries.

Fri Nov 28 13:22:21 PST 2025

New Entry added.

Fri Nov 28 13:22:21 PST 2025

Viewed/displayed all record entries.

Fri Nov 28 13:22:26 PST 2025

New Entry added.

Fri Nov 28 13:22:26 PST 2025

Viewed/displayed all record entries.

Fri Nov 28 13:22:34 PST 2025

Edited entry.

Fri Nov 28 13:22:34 PST 2025

Viewed/displayed all record entries.

Fri Nov 28 13:22:39 PST 2025

deleted entry.

Fri Nov 28 13:22:39 PST 2025

Viewed/displayed all record entries.

Fri Nov 28 13:22:48 PST 2025

New Entry added.

Fri Nov 28 13:22:48 PST 2025

Viewed/displayed all record entries.

Refactoring ideas:

Starting with the UI Portion, the financialTrackerUI is currently handling the creation of the SWING objects and the user interactions such as adding and deleting entries. We can make the creation of SWING objects into another class, then have financialTracker call it to simplify it's responsibilities. This should improve it's cohesion.

In addition, currently we have helper ui classes, AddEntry, DeleteEntry, and Edit Entry. The base code of these are extremely similar as they all create a popup window then call their corresponding classes in portfolio. We can take these components (creating a popup and calling its corresponding methods in protfolio to add/delete) and make a abstract class so we are not repeating code.

In addition, currently we are creating a new object of AddEntry, DeleteEntry, and Edit Entry everytime we call it. We can perhaps make them into a singleton class to prevent duplicates.

The model classes look pretty good, although we could make a different class to validate the inputs. Currently, we are only validating if the strings are too long but a seperate class that handles inputs could make adding more exceptions in the future easier.

About

Term Project for CPSC 210

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages