Budget Tracker v1.2.0
Budget Tracker TUI v1.2.0 - Major improvements to usability and documentation.
What's Changed
- [New Feature] Added new keybinding help menu system by @Feromond in #30
- [New Feature] Upgraded settings menu and added new settings. by @Feromond in #31
- [New Feature] Added fuzzy search to categories - subcategories by @Feromond in #32
- [New Feature] Added update notifications for the budget tracker app by @Feromond in #34
- Ran cargo fmt and clippy by @Feromond in #35
Full Changelog: v1.1.2...v1.2.0
This update contains a ton of really valuable changes.
The first major improvement was the addition of a keybinding / help menu that is curated for each unique view in the app. This is accessed using Ctrl+H and it contains information on all keybindings, fields, and controls within a given view. This means that it's much easier now to properly understand how to use this application, without being a developer on it and reading source code. This also means I can provide deeper instructions beyond the simple help bar.
The settings menu was also revamped significantly. This was done to prepare for future changes that would be utilizing the settings menu. The settings menu before was very poorly created, not very dynamic, visually not ideal, and was very hard to update and add things in an organized way. The new settings menu follows a nice dynamic approach and allows for new settings to be created easily and be organized.
A new setting was added to allow changing some amounts to instead be represented by time, based on a hourly rate of pay. This was a requested feature that was added, and It was a great initial test of the settings system to see how well it worked to build with.
Another feature added was the fuzzy search to the categories / sub-categories selection. There was a request to not need to select them each time as it could get annoying to find the specific sub-category. While I did not want to really remove the existing way things work just yet, I did want to add a toggle in the settings to swap to using a fuzzy search based option. This option can search through both categories and sub-categories at the same time, and selecting an option will auto-fill the inputs.
I improved the way this app handled numeric values. Before I was using floats to store the financial data which can lead to potential issues with rounding and accuracy issues. While I did have some handling that should have reduced the odds of that happening or having any of those issues really cause damage, I did opt now to swap over to Decimal types to ensure proper handling and safety. This allows me to be confident that numbers are being dealt with properly and without major issues.
Lastly I added a version checker into the app. It will use a very lightweight and simple API call to check if GitHub has any new versions released. If so, a popup will appear on the launch of the app to indicate to the user that there's new updates available for download. I think this is a very important feature to include as it's critical for future updates that users are communicated with in some simple manner. If I add new features or fix bugs, I want people to be made aware as soon as possible, without relying that they check the GitHub constantly.
Here are some screenshots of the updated features for reference:
