Open MrDiba opened 6 years ago
One of the design goals for the application is to not require the internet. If the request requires the internet to accomplish, is it possible to have an add-on for this application that would provide the feature? I'm not familiar with how an add-on may work, but perhaps that component could use the network.
I'm not familiar with programming a add-on (or Java in general) but I would like to look in to this subject.
Not requiring the internet to use the application is a great design goal and I would not remove that.
My idea was to make a button in the settings menu where there is a ability to connect to a server. If a user does not use the feature, the app works like it currently does. If a user choose to use a server the app will still use its own database but when it has a internet connection it automatically shares this database with the server like a mirror. This way the data is always backed up and a user does not have to be always connected to the internet to make the app work. When multiple users use the same database on the server and there is a conflict because some device has not shared it's database the databases will be merged, resulting in that all the transactions will be shown and if a user deletes a transaction the transaction will be removed from the other users
My understanding of plugins and Android is that the plugin is a separate application that the based application can check for an communicate to. Here is an example of such a setup:
http://androidsrc.net/creating-android-app-plugin-architecture-tutorial/
The plugin application would be responsible for connecting to the network and providing an interface to the base application. The base application would need to search for the plugin and use it if it were available. I'm not sure the security implications of the setup as I've not looked into it that much.
I would gladly review a proposed design and related pull requests for this application. I'll probably not pursue this feature independently, however, and instead rely on someone from the community contributing it.
Since my wive and I share a common bank account and we wanted to structure our budgets, I thought about an app synced to our nextcloud to monitor and analyze our spendings.
Your app is great for what I want, just need to be synced to an (non existing) nextcloud-interface. I never developed an nextcloud app before, but really would like to.
Are you interested in an optional synchronization feature for your app?
I think the way forward would be some sort of an plugin for the app, which would be responsible for the nextcloud communication. If you were interested in developing a separate application which could be such a plugin and propose the hooks for Budget Watch, I could help review the design and changes.
I think it would be a great addition if it would be possible to manage budgets with multiple users.
To accomplish this I was thinking about a option to connect to a database on a self hosted server. When a user has a internet connection the data will be synced directly and when the user is offline the data will be stored locally on the phone until there is a internet connection. If the user is offline and there is a change on the server, when het user goes back online the two different databases will be merged.