Skip to content

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.

Why

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.

¯\_(ツ)_/¯

What

List of features I am planning to add in this version:

  • Account balances for each account type (Initial Value column in Data 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).

How

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.

Clone this wiki locally