Commit Graph

11 Commits

Author SHA1 Message Date
341e31ed3b Add PDF monthly report generation 2026-03-02 00:51:31 +02:00
e53301421e Add JSON export for full data dump 2026-03-02 00:43:23 +02:00
987ab925ef Add CSV export for transactions with date filtering 2026-03-02 00:41:34 +02:00
6adf10c41b Add recurring transaction logic with catch-up generation 2026-03-02 00:34:34 +02:00
d247c56cfa Add desktop notifications for budget threshold crossings
After saving an expense, checks if the category budget reaches 75%,
90%, or 100% thresholds. Sends gio::Notification for each newly
crossed threshold. Tracks sent notifications in database to prevent
duplicates within the same month.
2026-03-02 00:28:43 +02:00
b772870d98 Add budget CRUD operations and progress calculation
set/get/list/delete budgets per category per month. Budget progress
calculates spent vs budgeted percentage. Copy budgets from one month
to the next. Seven new unit tests covering all operations.
2026-03-02 00:24:08 +02:00
e342272dbe Add exchange rate service with caching and fallback API
ExchangeRateService fetches rates from fawazahmed0/exchange-api with
Frankfurter API as fallback. Rates are cached in SQLite for 24 hours.
Includes response parsers, 30 supported currencies, and 8 unit tests
covering parsing, caching, and same-currency identity.
2026-03-02 00:14:50 +02:00
61ced2d482 Add CRUD operations for transactions, categories, and aggregation queries 2026-03-01 23:59:15 +02:00
9865f8288f Add database layer with schema creation and default categories 2026-03-01 23:57:37 +02:00
26d0be20c2 Add core data models for transactions, categories, budgets 2026-03-01 23:56:41 +02:00
2ca1f87bf3 Scaffold cargo workspace with core and gtk crates 2026-03-01 23:54:45 +02:00