-
Notifications
You must be signed in to change notification settings - Fork 42
Expense Manager v2 🔥
Mitul Shah edited this page Jan 13, 2018
·
1 revision
Introducing expense-manger v2! Read on to find out details about what/why and how.
I have decided to add visualization part to the app which is opposite of my initial thought - "Detailed analysis of the sheet can be deferred till you get an access to a computer. You can plot fancy charts at end of the month ..." So what has changed and why add charts/visualization?
- When I tried to plot some graphs in Google Sheets, I wasn't able to add many interactions with them. For example, if I plot a pie chart of categorical expenses of each month - I can't click on particular slice and see details for that category.
- I have to keep adding charts every month (with code this can be easily automated).
- I couldn't find a way to ignore the
transfer
transactions which are not part of income/expense. - Even though I was adding expense for everything, I wasn't analyzing it much. It was almost like I never saw last month's/quarter's expenses in detail which was the main goal (not just adding expenses but having a better idea about my spendings).
PS: Maybe these can be done within Sheets, but I feel much more comfortable doing it in code so that I have more control over it.
¯\_(ツ)_/¯
List of features I am planning to add in this version:
- Account balances for each account type (
Initial Value
column inData
sheet must be updated first time for this to work properly) - Following items/charts for each month
- A pie chart of expenses by category (with a click interaction)
- A pie chart of expenses by account type
- A list of transfers
- A list of incomes
- A bar chart for the monthly-total-expense (trailing 12 months) with an option to do that for each category type.
- Don't ask a user to create a sheet manually. Use copy or something similar (#9).
- Maybe offline support (#11).
For charting, I will mostly use a JS charting library like Chart.js or Highcharts. I will push my code to v2 and merge to master
once it's ready.