marsjo / graphql-rails-example

A reasonably comprehensive example of the primary features of the graphql-ruby gem in a simple rails application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GraphQL Rails Example

GraphQL is a powerful tool for API design, acting essentially as database schema definition and transport layer.

This repository stands as a quasi-reference for the ruby-graphql gem in a working rails codebase, ideally in a way that covers as many of the features as possible; with some 'reasonably ok practices'.

Currently, the example includes:

  • Writing feature tests in cucumber-js with apollo
  • Registration via email and password
  • Authentication via access tokens and email and passwords

I would recommend reading through the feature tests that demonstrate the features you're interested in, and then diving into the code. Feel free to open issues with "wtf is going on here?" and I'll try to add comments and/or refactor into something more comprehensible as time permits.

Running the example

This is written in ruby 2.5 and the feature tests are relying on node 9+. The database is postresql.

I recommend running the app on port 5000, using bin/rails s -p 5000

Tests are ran by executing npx cucumber-js

About

A reasonably comprehensive example of the primary features of the graphql-ruby gem in a simple rails application


Languages

Language:Ruby 64.8%Language:Gherkin 13.6%Language:JavaScript 13.4%Language:HTML 7.3%Language:CSS 1.0%