Google Drive support + Bug fixing + Web app fixes #170
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2024-07-21.at.20.25.56.mov
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:
-> TODOs: I noticed this happens also with budgets, they are not updated in real time, or when transactions are edited/removed.