Skip to content

Budget Tracker 1.3.0

Choose a tag to compare

@Feromond Feromond released this 19 Mar 04:57
· 53 commits to main since this release
4504ecd

Budget Tracker TUI v1.3.0

What's Changed

  • [Feature] Added sqlite database for category data and created a new budget view by @Feromond in #53

Full Changelog: v1.2.2...v1.3.0

Summary

Initial SQLite support has been added, starting with category management. This enables new functionality while laying the groundwork for a future, fully backward-compatible migration of transactions.
A new category catalog allows users to create and manage custom categories and subcategories, including setting target budgets for each subcategory.
The database defaults to budget.db and is stored alongside the transaction file. It can be moved or renamed freely. If the new location does not contain a database, the existing data will be copied. If a database already exists, it will be used instead.
Database files can be stored on cloud services to support syncing across devices.
Updating categories will also update any associated transactions. If a database is not synced across devices, transactions will remain intact but may appear as uncategorized until valid categories are available again.

Closed #49, #28, #14, and #52

budget_view

More detailed dive

I have started working on adding SQLite support into the app. I am starting slow with just the categories but this already enables a lot of great additional features! Transactions will also be migrated eventually but in a manner that does not break any existing workflows, and that will be seamless and backwards compatible.

With the addition of sqlite, I have created a category catalog. In there, it's possible now to create custom categories and subcategories. It is also now possible to add details such as a target budget per sub-category.

The database is by default called budget.db, and is stored in the default location (basically wherever your transaction file is). It can be moved and renamed and it will behave in the same style that the transaction csv did. Renaming or changing paths to a location that does not contain a database will copy over the existing database data. If copying to an existing database, it will swap instead of copying and use the new location without problems.

These database files can similarly be stored on cloud services to allow for the data to sync across devices.

Updating categories that are in use for transactions will update those transactions. Be careful to ensure that if you are changing existing categories or creating new ones to use, that you also sync the database so that when another device loads the transactions, it will be able to use those too. If you do make this mistake, not to worry! Nothing will happen to your transactions. They are fine to have invalid categories and sub-categories. They just can't be edited without saving a valid category or sub-category. They will be registered as uncategorized in any aggregated views.

Thanks to the category targets, I created a new view called budget view. This view can be accessed by pressing the 'b' key in the normal mode. This view will display very useful budgeting information, so long as you have set a target budget for some categories. Please feel free to send feedback for any issues or requests around this, as it was a relatively complex undertaking and I may have lost clarity.

A few other minor changes were made such as adding quarterly recurring transactions to the recurring transaction period options.