The database should store a list of aggregates for all categories for all months and for all years. The aggregates should also only be updated as needed, aka, when a relavent transaction is added. updated or removed.
This foundation will provide several performance improvements, as well as replace several instances of repeated code (technical debt).
This enhancement is a prerequisite for several other development items, including #58, #18.
As a side note, this will also be the first significant database change since the original 0.0.1 release, and will thus require some sort of sanity checking that will handle database structure changes.
The database should store a list of aggregates for all categories for all months and for all years. The aggregates should also only be updated as needed, aka, when a relavent transaction is added. updated or removed.
This foundation will provide several performance improvements, as well as replace several instances of repeated code (technical debt).
This enhancement is a prerequisite for several other development items, including #58, #18.
As a side note, this will also be the first significant database change since the original 0.0.1 release, and will thus require some sort of sanity checking that will handle database structure changes.