/BeThriftyToday

A simple and secure money manager that keeps you financially vigilant.

Primary LanguageDartApache License 2.0Apache-2.0

Be Thrifty Today

Be Thrifty Today

A simple and secure money manager that keeps you financially vigilant.

Codemagic build status Crowdin

Get the App on the Google Play Store

Website

https://bethrifty.today

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

Splash Screen Profile Setup Currency Selection Dashboard Drawer Settings Add Expense Add Income Dashboard Delete Expense Dark Mode About the App

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

Snapshot of the Database

Translation

You can translate the application to your desired language through the Localization Platform, Crowdin. This tool helps me manage translations on a larger scale and also helps with easier collaboration with other contributors.

To help translate the app, just visit https://translate.bethrifty.today/

If the platform requires you to be invited to the project, please visit this link: http://translate.bethrifty.today/project/be-thrifty-today/invite

Thank you so much for your contribution!

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