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

Suggestion: GraphQL API #2

Open
chimon2000 opened this issue Jan 24, 2019 · 0 comments
Open

Suggestion: GraphQL API #2

chimon2000 opened this issue Jan 24, 2019 · 0 comments
Labels
enhancement New feature or request

Comments

@chimon2000
Copy link
Collaborator

Justification

It would be nice to be able to query using GraphQL from the client side. I can think of a couple of advantages.

Sparse Fieldsets

Rather than try to build multiple endpoints for each integration, it's probably better to have a single query that can sparsely load params.

Simplifies query parameters

Currently we only have two integrations, but I could see querying getting complex soon. GraphQL gives us an easy way of being able to extend support.

Strongly typed schema

Can easily draft a schema that works for both the server and the clients.

On the downside, if we ever wanted to create a native client the supporting libraries for Flutter is missing some things. Considering our client right now is essentially read-only that may not be a big deal.

Implementation

The obvious candidate for implementing this in python is Graphene - Flask tutorials appear very straightforward.

@chimon2000 chimon2000 added the enhancement New feature or request label Jan 24, 2019
@chimon2000 chimon2000 pinned this issue Jan 24, 2019
@chimon2000 chimon2000 added enhancement New feature or request and removed enhancement New feature or request labels Feb 28, 2019
@chimon2000 chimon2000 unpinned this issue Feb 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant