Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap for API overhaul #210

Closed
theoreticalbts opened this issue Jul 25, 2016 · 3 comments
Closed

Roadmap for API overhaul #210

theoreticalbts opened this issue Jul 25, 2016 · 3 comments

Comments

@theoreticalbts
Copy link
Contributor

There are many architectural issues in the API:

  • Inconsistent pagination. Some API calls are paginated, some aren't. All API calls need to be checked for potential unlimited-size responses and proper pagination specifications designed and implemented.
  • API calls should take and return structs, so adding additional arguments or returning additional information is possible in a reasonably backwards-compatible manner.
  • Database API should be split up into several smaller API's.
  • API's which require specific history plugins to be loaded should be placed into plugin-specific API's.
  • No API's except the login API should be loaded by default.
  • Web-specific stuff needs to be moved into its own set of plugins.
  • Web-specific stuff needs to be made modular.

Here is a rough plan of action:

  • Develop the new API's as an out-of-tree plugin set.
  • When new API is tested and interface is stable, add submodules for core functions to tree, move old API's to out-of-tree "legacy" plugins.
  • When all API clients (UI + exchanges + key third-party tools) have upgraded, stop maintaining legacy plugins.
@mvandeberg
Copy link
Contributor

Related #209

@mvandeberg
Copy link
Contributor

Related #1265

Some of the changes will satisfy this refactor.

@mvandeberg
Copy link
Contributor

This is handled by Appbase

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants