Currently, sync provider integration is very specific to the provider and requires first-party integration into Budget Board.
Ideally we would have some sort of hierarchy for these providers:
- first-party integration
- template support
- third-party plugins
First party integration would be similar to what we already have: a turnkey integration that just requires the user to add an API key and get started.
Template support would provide a framework to handle sync provider integration that could be done via something like YAML. We would provide a markup that could be configured with things like endpoints for certain data, the data structure of the request and responses, and maybe some sort of logic flow.
Lastly would be some way to allow third-party plugin integration. This would allow users to create their own sync providers (or wrap existing ones that don't comply with the template solution) and either load as a plugin in the existing server process or spin up as their own process and interact with an API.
This is all just high level thoughts, need to investigate more.
Currently, sync provider integration is very specific to the provider and requires first-party integration into Budget Board.
Ideally we would have some sort of hierarchy for these providers:
First party integration would be similar to what we already have: a turnkey integration that just requires the user to add an API key and get started.
Template support would provide a framework to handle sync provider integration that could be done via something like YAML. We would provide a markup that could be configured with things like endpoints for certain data, the data structure of the request and responses, and maybe some sort of logic flow.
Lastly would be some way to allow third-party plugin integration. This would allow users to create their own sync providers (or wrap existing ones that don't comply with the template solution) and either load as a plugin in the existing server process or spin up as their own process and interact with an API.
This is all just high level thoughts, need to investigate more.