Example Rails app using GitHub's GraphQL API
Demonstrates how to use the graphql-client
gem to build a simple repository listing web view against the GitHub GraphQL API.
The application structure is setup like a typical Rails app using controllers, views and routes with one key difference, no models. This app doesn’t connect directly to any database. All the data is being fetched remotely from the GitHub GraphQL API. Instead of declaring resource models, data queries are declared right along side their usage in controllers and views. This allows an efficient single request to be constructed rather than making numerous REST requests to render a single view.
Jump right into the code and read the inline documentation. The following is a suggested reading order:
GraphQL::Client
to point to the GitHub GraphQL endpoint.First, you’ll need a GitHub API access token to make GraphQL API requests. This should be set as a GITHUB_ACCESS_TOKEN
environment variable as configured in config/secrets.yml.
$ git clone https://github.com/github/github-graphql-rails-example
$ cd github-graphql-rails-example/
$ bundle install
$ GITHUB_ACCESS_TOKEN=abc123 bin/rails server
And visit http://localhost:3000/.