Added an App global object to manipulate user data on the client side to reduce amount of necessary requests to get data. Before this PR, getting the filtering purchases by data required a request to the server for a new list of purchases. Now, in app.js, it just recompiles the Handlebars template with a new array of purchases so we don't have to make more requests. Added adding new purchases/categories now go through the api controller via client side fetch so the spending controller was removed. There are tests around all new api functions and some changed database access methods
Added an App global object to manipulate user data on the client side to reduce amount of necessary requests to get data. Before this PR, getting the filtering purchases by data required a request to the server for a new list of purchases. Now, in app.js, it just recompiles the Handlebars template with a new array of purchases so we don't have to make more requests. Added adding new purchases/categories now go through the api controller via client side fetch so the spending controller was removed. There are tests around all new api functions and some changed database access methods