AmruthPillai/BeThriftyToday
A simple and secure money manager that keeps you financially vigilant.
go to github download![Be Thrifty Today](https://github.com/AmruthPillai/BeThriftyToday/blob/master/assets/icons/app_icon.png?raw=true)
Be Thrifty Today
A simple and secure money manager that keeps you financially vigilant.
Website
Short Description
Be Thrifty Today is a simple and secure money management app that helps you track your incomes and expenses. It is designed in a way that helps you become financially vigilant within seconds of using the app.
Description
Be Thrifty Today is a simple side project that started out of bare necessities. I have had the habit of keeping an eye on my incomes and expenses for quite some time now, and I’ve used many apps on the market that have aided me for quite some time, but I always found that it fell short in one or more areas. I like to have complete control over my finances and that’s why Be Thrifty Today was born. It is a simple money management application for those who want complete oversight over their incomes and expenses and setting budgets too.
Inside the app, you should be able to find a simple to use User Interface that allows you to add new incomes or expenses along with assigning the transaction with a cute and colourful icon to indicate its category. You can delete transactions made by simply swiping from right to left on the list item, and edit them by holding down the transaction. It has been designed in an intuitive way, quick to add, easy to navigate.
I do not plan to monetize this project at any time. It’s a free app without any ads and will continue to be so. I would also love to share what I have learned about building this application, that’s why I’ve made the application’s code open-source and open for contribution by anyone in the developer community. The source is built with Flutter & Firebase, so if you’re an enthusiast of any of the two, drop me an email/leave a rating below and I’ll get back to you :)
Oh, and in line with saving the best for last… There’s also a dark mode! 🕶️
Screenshots
Features
- Manage your income and expenses with ease, both on Mobile, Web & Desktop (coming soon).
- Choose from a wide variety of categories with colourful icons that spice up the mundane task of money management.
- Encrypts all sensitive user information using AES-256 so that data is unreadable by anyone except authorized applications and you.
- Attention to detail, user interface design and enhanced usability is at the topmost priority (so if there’s a typo, don’t hesitate to let me know).
- No pesky push notifications, that bother you in the middle of the night.
- It doesn’t require read/write access to your phone storage or your SMSes, it’s completely air-gapped and secure.
- Ability to export income/expense transactions of a certain time period to CSV or JSON.
- Your data is completely secure, there is no social aspect to this application. Your finances are yours alone, and you have complete control over them.
- Set up biometric authentication in the Settings page so the app will allow access only to you and no one else using the phone. It uses your device’s biometrics, so you don’t need to set it up all over again. (available only on phones with fingerprint readers)
- You can request to add new categories or new features by dropping me an email at bethriftytoday@gmail.com and I’ll add them as soon as I have the time to work on it.
- This app is ad-free, and always will be.
Changelog
v1.1.0 (10)
- You can now choose between 3 themes (Light, Dark and AMOLED)
- You can pick any accent colour from the choices, making it completely personalisable
- Users can sign in as a guest (still syncs your data to the cloud), but you won’t have to divulge any personal information
- You can now create your own income/expense categories
- You can now enter your own currency symbols and use them within the app
- All values now have decimal places up to 2 places
v1.1.0 (11)
- Allow users to add/delete any categories or even reset categories list to their original state
- Base code modifications made to allow for further localization through translation of strings
v1.1.0 (13)
- Added Spanish (Espanõl) Language to the app (Credits: @moralesnery)
v1.1.0 (15)
- Added French (Français) Language Support, (Credits: @Levkoje)
- Fixed issue where preferences and settings were not being saved
- Fixed translating Category Name in the Transaction List Tile
- Allow option to reset currencies, just like resetting categories
v1.1.0 (16)
- Added Kannada (ಕನ್ನಡ) Language Support
Security
As mentioned above, I’ve used a simple but uncrackable method to encrypt the sensitive information of a user’s transactions so you can use the app in peace, knowing that no one else can ever read your data except you. In the spirit of complete transparency, here’s a snapshot of the database
Translation
Localization was possible using the Flutter Intl VS Code Plugin and Google’s ARB (Application Resource Bundle) format which is powerful enough to handle some of the best usecases for language translations.
To translate the app into your own language, all you need to do are the following steps:
- Fork the repository to your own account
- Go to
lib/l10n
folder and clone theintl_en.arb
into another fileintl_{code}.arb
wherecode
is your ISO-639-1 (2 Alpha) Language Code. - Once you are done with the translation of strings, open a pull request to merge with the
develop
branch of the original repository. - Wait for me to approve the pull request so that I can generate the corresponding dart files and make changes in the settings screen. (Don’t worry, I’m pretty quick when it comes to changes)
That’s about it. Please do contribute as much as possible to the open source project, it would mean a lot to me as it would reach a whole lot of people out there. Thank you so much!
License
The source code and product are governed under the Apache License 2.0 which can read here: LICENSE. It allows for open source contribution and resharing of work :)
Contributing
If you are a developer yourself, please create a Pull Request to fix/add what you feel like and I’ll review it into the application :) Thank you so much!
Please be aware that running the project requires certain files such as the Google Services JSON and the Encryption Functions Dart File which I have consciously kept out of source control. To those who are willing to contribute to the project, you can generate your own Firebase project and get the corresponding google-services.json
and Google-Service-Info.plist
.
For the missing encrypt.dart
file which is required to build the application, here is a gist with the file’s contents, stripped off of the encryption key which is used in the production app: https://gist.github.com/AmruthPillai/3d99758a3836b909d331a90601023f53
![](/images/banner-woo.jpg)
excellent projects related to AmruthPillai/BeThriftyToday recommend downloading
AppFlowy
47859
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
localsend
33797
An open-source cross-platform alternative to AirDrop
spotube
23772
🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
revanced-manager
15035
💊 Application to use ReVanced on Android
gsy_github_app_flutter
14559
Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验Σ( ̄。 ̄ノ)ノ。同款Weex版本 : https://github.com/CarGuo/GSYGithubAppWeex 、同款React Native版本 : https://github.com/CarGuo/GSYGithubApp 、原生 kotlin 版本 https://github.com/CarGuo/GSYGithubAppKotlin
dio
12249
A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
gopeed
11832
A modern download manager that supports all platforms. Built with Golang and Flutter.
bloc
11441
A predictable state management library that helps implement the BLoC design pattern
getx
9899
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
flame
8846
A Flutter based game engine.
flutter_deer
7595
🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.
fish-redux
7343
An assembled flutter application framework.
ente
6686
Fully open source, End to End Encrypted alternative to Google Photos and Apple Photos
fl_chart
6451
FL Chart is a highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.
pixez-flutter
6360
一个支持免代理直连及查看动图的第三方Pixiv flutter客户端
Flutter-Responsive-Admin-Panel-or-Dashboard
6355
Responsive Admin Panel or Dashboard using Flutter
aidea
6021
AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
riverpod
5828
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
pikapika
5463
美观易用且无广告的漫画和游戏客户端,同时支持MacOS,Windows,Android,iOS。
provider
5029
InheritedWidgets, but simple