Open matteosz opened 1 month ago
Hello, that's impressive, thank you! Just one speedy question before going deeper: as far as i know, when you need to use Google's API or services, you need to create an app on developers profile, that collect scopes and authorizations of users. Did you register an application with your account then?
Google Drive support + Bug fixing + Web app fixes
This PR introduces many improvements to the project, mainly a big new feature and several bug fixes.
Google Drive Support
Why?
The need of a cloud storage for the application is critical: first, users want to use the application from multiple devices (e.g. adding transactions on fly from the smartphone, but then analysing the net worth from a laptop). Second, there's an evident big reliability problem (SPOF) in storing everything locally. Thus, I consider this feature of a much higher priority than the one provided in the development plan.
How?
The user goes to the settings, and find the Google Drive option, from where they can authenticate with their Google Drive account. Since that moment, automatic sync will be activated. It will work in the following way:
Here's a quick recording of the functionality in action:
https://github.com/user-attachments/assets/17015e5c-e409-4c13-b559-5c0aa43c6d03
Current limitation This feature currently works for Android, iOS and MacOS. Windows and Linux still don't have support for the google_sign_in plugin. I implemented the web application support for the google authentication; however, there still remains the challenge of downloading/overwriting/uploading the local database due to the constraints of accessing local storage typical of web apps (see TODOs in the code).
Web application
Previous issues
Current limitation
There are still important things not working on the web version (setting the date of a transaction, broken search), but overall the app became at least usable now, and further bug fixes can be done in future PRs.
Bug fixing: what and how?
The following bugs have been addressed and fixed: