Budgeteer
- 2 Devlogs
- 11 Total hours
A small budgeting program for the TUI, with AES encryption to securely store your data
A small budgeting program for the TUI, with AES encryption to securely store your data
Recently I’ve been working on implementing the encrypted file format and the actual database connection.
For the hash I chose the argon2 hash to make it wayyy harder to brute force (because argon2 requires more computing which makes it very hard to brute compared to eg. sha256), and to check if the password is correct I currently rely on AES key verification. This however will trigger a key-incorrect error on ANY error, so I plan on refining this approach later (but we gotta start somewhere right?) :>
Other than that I’ve also started working on a proper widget implementation to reduce duplicate code, and I finally implemented a better handler message system, where the top-level handler (the main app runtime in this case) receives a message as a return value from the child handler (the page), so the page can execute actions such as blocking input or navigating.
Not much to show visually but here is the current state of the homepage!
I started this project very recently, like yesterday I think, and it is mostly to solve my own beef with excel (I cannot for the love of god create a good sheet for my budget
).
Since I started it I have mostly been writing boilerplate and app structure code to actually create an usable development environment.
This includes pages and navigation (wowzies :») in ratatui (the TUI library I’m using!) and different rust traits to make it all work!>
Finally, after some hard work I finally got a working homepage, complete with searching and persistent state loading.
Oh and did I mention? It has a ✨ command palette ✨ - which is empty right now but it will have commands any day now…any day now……