Skip to content

A console app sorting csv banking transaction entries into categories and compared to monthly budget limits. My approach for this project was to focus on dependency inversion, single responsibility, and loose coupling principles. The dependency injection pattern ensure future updates can be made modularly.

Notifications You must be signed in to change notification settings

compSciKai/PersonalFinancesApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Cashflow Categorizer

  1. Update the program.cs file with a file path to a csv file with banking transactions
  2. Compile and run the app
  3. The app will ask you you to create a budget profile on the first use. Enter a profile name, description, and then add budget categories and the limits set for each month
  4. Confirm the profile you've created is adiquate.
  5. The application will convert each transaction into a transaction object with date, description, amounts for each expense.
  6. The application will run a query on each description to determine what the vendor is. If a vendor can't be determined, the app will ask you to provide a substring matching the description and map it to a specific vendor. The key value pair will be saved for use for each future transaction.
  7. Once all descriptions have been analyzed and a vendor has been associated with each, the app will associate a category with each of the vendors, and prompt the user for input when a new vendor is found.
  8. Once all vendors have been categorized, a report is generated. The report shows all transactions for each date range, and individual reports for each category. The Expenses are compared to the budget set in the user's profile.

About

A console app sorting csv banking transaction entries into categories and compared to monthly budget limits. My approach for this project was to focus on dependency inversion, single responsibility, and loose coupling principles. The dependency injection pattern ensure future updates can be made modularly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages