Financial Health (Terminal Project)

Hello coders, as my first portfolio project for Computer Science path I chose to make an app to keep track of your “Financial Health”. I chose it instead of a game because the idea of this financial app has been rounding my head lately, this app will keep track of your expenses (also if you have extra incomes) through the month or a period of time, at the end it will show you if you did well handling your money in pro of a good financial health.

This program works like this: first, it will ask you for some personal data (ID, Name, monthly income), after this it will show you a menu in which you can chose between 5 options, the most relevant options at the beginning are option 1 for input new incomes and option 2 for add expenses, when you are done adding all your expenses or incomes if so, you now can print your financial health summary with option 4 (this inputs can be entered on different days, whenever they happen, ideally) and know you can see if you did a good job or need to do adjustments to your expenses budget.

Finally I would like to say that as time goes by I’m having new ideas on how to improve this program based on new knowledge, and also say that I’m open to suggestions. For now I decided to let it this way since it’s my first project and includes the knowledge from the topics learned as prerequisite for it, but consider it the beta version because my goal is to keep refactoring the code until it looks like a pro app.

Thanks for your time, and here is the Github link so you can check it out:

1 Like

Hi!, what a nice program. Liked the way you organized the fStrings to display the outputs.
I did some minor contribution to it on github, just for practicing.
It didn´t run the first try on my computer, but it was clearly because the CSV file route was hardcoded as the one on your computer.

Changed this:

def save(self):
        with open('/Users/alejandrohenaoecheverri/Documents/Python/FH App/financial-health-user-data.csv', 'a', newline='')  as user_data:

For this:

def save(self):
        with open('./financial-health-user-data.csv', 'a', newline='')  as user_data:

Also, the choosing inputs were instantly converted to int(), which causes a crash in case of entering a letter, so i added a functionality to check if the input is actually a digit before converting the int().
.
Love your script, have a nice day!

1 Like

Hi, I gotta say that I was worried about that when I first upload the code, didn’t know how to handled at that moment, thank you so much for your contribution to the code, and for the improvement, also I just learn, thanks to you, how to handle this issue in the future.
Thank you and you too have a nice day.

1 Like

No worries!, glad you had the opportunity to learn, i guess that’s why we’re here for!.
If there is a chance you can accept the pull request on github would be nice, if not that’s ok.