PHP/JavaScript webapp to analyse spending habits
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Chris Smith bda7cca9ce Add a header пре 13 година
externals Switch to using a git repo for flot пре 13 година
res Add a header пре 13 година
.gitignore Initial import пре 13 година
.gitmodules Switch to using a git repo for flot пре 13 година
README.md Frontend now only needs one set of data пре 13 година
data.php Facilitate local customisations to the backend пре 13 година
index.html Add a header пре 13 година

README.md

Overview

This project consists of a PHP backend which can parse CSV files containing bank account transaction information, and a JavaScript front-end which can analyse and display stats about the parsed data.

Data formats

Backend

The backend expects a ‘Statements’ directory containing CSV files with the following fields:

  • Date (dd/mm/yy)
  • Amount
  • Description

Frontend

The JS frontend uses a map containing one entry for each month’s worth of transactions. At present it expects this map to be assigned to a variable called ‘data’. Each month consists of an array of transactions, which are themselves objects containing the following properties:

  • Date - currently a serialisation of a PHP DateTime object, e.g.
    {"date":"2009-01-05 00:00:00","timezone_type":3,"timezone":"UTC"}
  • Amount
  • Description - a user-friendly description of the transaction
  • RawDescription - the raw description from the statement (not used)
  • Category - user-defined category for the transaction (optional)
  • Type - user-defined type for the transaction (optional)

If the category has the special value (Ignored), it is excluded from certain calculates and graphs and showed as greyed out in tables.