Financial Dashboard
Description
This financial dashboard is designed to assist you in establishing and achieving your long-term monetary goals. By providing you with data visuals and statistics, it will enable you to make informed decisions about your financial future and work towards securing your financial stability and prosperity. This tool includes three calculators that can be used to visualize your monthly expenses, potential growth with compound interest, and plan to reach your savings goal.
Use Instructions
1- Select tool(s) to use
Select the drop down menu labeled "options" and pick which feature you would like to use. The financial dashboard currently has 3 choices to pick from: expenses, savings goals, and compound interest. You can choose as many features as you would like. (Read more about each option below)
2- Fill in all sections under your desired tool
For each option that you chose from the menu above, completely fill out all sections under the header.
3- Submit to see the output
After inputting your data and you have make sure each section is filled out, click the blue submit button at the bottom of the page to display the results.
Inputs/ outputs
Expenses
This tool can be used to visualize and keep track of a users monthly expenses.
Inputs include the users monthly expenses for:
- Rent
- Transportation
- Entertainment
- Food
- Other
- Savings
This data is used to Output:
- A color coded pie chart that displays percentages for each of the users expenses
- The users total monthly expenses
Savings Goal
This tool allows users to set a savings goal and see how long it will take them to reach their target. They will also be able to see how much money they need to save to reach their goal in their target time period.
Inputs for setting a savings goal:
- Current Savings- current savings balance
- Monthly Savings- monthly contribution to savings
- Savings Goal
- Time that you want to reach your goal in months
This data is used to output:
- The amount of time it will take to reach your savings goal at your current saving rate
- The amount of money you need to save each month to reach your goal within your target time period
- A color coded line chart displaying your current savings rate and the required savings rate to meet your goal
Compound Interest
This tool lets users compare the growth of their money with and without the power of compound interest.
Inputs for compound interest:
- Initial investment
- Monthly contribution
- Interest rate
- Time invested
This data is used to output:
- Future value without compound interest
- Future value with compound interest
- A line chart comparing the growth over the given time period
Code Documentation
main():
Description:
- The main function begins with checking which tool the user has chosen to use. For each option that the user chooses, we make the respective function call to generate the correct output. Additional values are calculated and return for use in our output text.
Parameters:
- Inputs: options, expense inputs, savings inputs, compound growth inputs
Returns:
- expense_plot
- savings_plot
- exponential_plot
- financial_tip
- saving_rate
- current_time
- savings_goal
- months
- difference
- total_expenses
- rate
- years
- normal_total
- interest_total
- interest_difference
createExpenses(): Converts user inputs to pie chart
Description:
- This function creates an an array which stores the users inputs which are their monthly expenses. Using Matplotlib, we plot the pie chart by passing in the array (along with other, optional parameters). The plot is then passed to the helper function plt_show() to convert the plot to an output string.
Parameters:
- Inputs: rent, food, transportation, entertainment, savings, other
Returns:
- data string representing an image to the passed in plot
createSavingsGoal(): Converts user inputs to line chart
Description:
- This function creates three lines to be plotted, including the users savings goal, their current saving rate, and their target saving rate. We create the line chart using Matplotlib and pass the plot to the helper function plt_show() to convert the plot to an output string.
Parameters:
- Inputs: current savings, monthly savings, savings goal, target time
Returns:
- data string representing an image to the passed in plot
createExponential(): Converts user inputs to line chart
Description:
- This function takes the users inputs and creates a line chart. Two lines are plotted to show the future value and growth with and without compounding interest applied. The plot is passed to the helper function plt_show() to convert the plot to an output string.
Parameters:
- Inputs: Initial investment, monthly contribution, interest rate, time invested
Returns:
- data string representing an image to the passed in plot
plt_show(): Converts matplotlib plt to image data string
Description:
- Helper function that is called when creating a plot to convert the plot to an image data string in HTML.
Parameters:
- plt: the matplotlib pyplot or figure
- width: the width of the graph image in pixels
- dpi: (dots per inch) the resolution of the image
Returns:
- data string representing an image to the passed in plot