awesome-graphql Awesome

Awesome list of GraphQL & Relay

If you want to contribute to this list (please do), send me a pull request.

Table of Contents

## Specification
  • facebook/graphql - Working Draft of the Specification for GraphQL created by Facebook.
## Community ## GraphQL Meetups ## Libraries ### JavaScript Libraries
  • GraphQL.js - A reference implementation of GraphQL for JavaScript.
  • express-graphql - GraphQL Express Middleware.
  • koa-graphql - GraphQL Koa Middleware.
  • hapi-graphql - Create a GraphQL HTTP server with Hapi.
  • codemirror-graphql - GraphQL mode and helpers for CodeMirror.
  • graphql-schema - Create GraphQL schemas with a fluent/chainable interface.
  • graphql-sequelize - Sequelize helpers for GraphQL.
  • graffiti - Node.js GraphQL ORM.
  • graffiti-mongoose - Mongoose (MongoDB) adapter for graffiti (Node.js GraphQL ORM).
  • babel-plugin-graphql - Babel plugin that compile GraphQL tagged template strings.
  • adrenaline - React bindings for Redux with Relay in mind.
  • graphql-bookshelf - Some help defining GraphQL schema around BookshelfJS models.
  • graphql-bookshelfjs - A simple bridge between your graphql queries and your bookshelf models, perform batched and optimised queries.
  • graph.ql - Faster and simpler technique for creating and querying GraphQL schemas.
  • react-reach - A library to communicate with Graphql through Redux
  • Lokka - Simple JavaScript client for GraphQL, which you can use anywhere.
  • Strapi - Open-source Node.js framework that supports "GraphQL" out of the box.
  • GraysQL - A GraphQL manager and loader.
  • graysql-orm-loader - A GraysQL extension to load a GraphQL schema from an ORM.
  • Annotated GraphQL - Proof of Concept for annotations in GraphQL (i.e.: transform an existing REST api into a GraphQL endpoint).
  • Apollo Client - A well-documented GraphQL client that integrates with Redux. Has React and Angular bindings.
  • graphql-tools - Tool library for building and maintaining GraphQL-JS servers.
  • graphql-anywhere - Run a GraphQL query anywhere, against any data, with no schema.
  • graphql-tag - A JavaScript template literal tag that parses GraphQL queries.
  • modelizr - A library for simplifying the process of writing GraphQL queries, mocking them and normalizing their responses.
  • vue-apollo - Vue integration for apollo.
  • graphql-thinky - Build an optimized GraphQL schema from Thinky RethinkDB models.
  • graphql-pouch - A GraphQL-API runtime on top of PouchDB created by GraphQL shorthand notation as a self contained service with CouchDB synchronization.
  • gql-tools - Tool library with CLI for schema generation and manipulation.
  • graphql-iso-date - A GraphQL date scalar type to be used with GraphQL.js. This scalar represents a date in the ISO 8601 format YYYY-MM-DD.
  • graphql-compose - Tool which allows you to construct flexible graphql schema from different data sources via plugins.
  • node-graphjoiner - Create GraphQL APIs using joins, SQL or otherwise.
  • FetchQL - GraphQL query client with Fetch
  • Join Monster - A GraphQL-to-SQL query execution layer for batch data fetching.
  • Create-GraphQL - Command-line utility to build production-ready servers with GraphQL.
  • GraphQL-Pokémon - Get information of a Pokémon with GraphQL!
  • graphql-factory - Create GraphQL types from JSON definitions
Relay Related
  • relay - Relay is a JavaScript framework for building data-driven React applications.
  • graphql-relay-js - A library to help construct a graphql-js server supporting react-relay.
  • sequelize-relay - Serverside library that connects sequelize and graphql-relay-js together.
  • babel-plugin-react-relay - Babel Plugin for Relay with support for JSON & graphql-js schemas and URL endpoints.
  • babel-relay-plugin - Babel Relay Plugin for transpiling GraphQL queries for use with Relay.
  • react-router-relay - Relay integration for React Router.
  • relay-local-schema - Use Relay without a GraphQL server.
  • relay-sink - Use Relay to fetch and store data outside of a React component.
  • recompose-relay - Recompose helpers for Relay.
  • Graylay - A GraysQL extension to create a Relay compatible Schema.
  • Apollo Client - A simple alternative to Relay, integrates with Redux and comes with React and Angular bindings.
  • react-relay-network-layer - A network layer for Relay with query batching and middleware support (urlThunk, retryThunk, auth, defer and other).
  • relay-subscriptions - Subscription support for Relay.
  • Portfolio Relay Example - An example website that fetches data from various apis and uses Relay and GraphQL to feed the data to React components!
  • Relay Pokédex - Project using GraphQL Pokémon to show how powerful Relay is.
### Ruby Libraries
  • graphql-ruby - Ruby implementation of Facebook's GraphQL.
  • graphql-parser - A small ruby gem wrapping the libgraphqlparser C library for parsing GraphQL.
  • graphql-client - A Ruby library for declaring, composing and executing GraphQL queries.
  • graphql-batch - A query batching executor for the graphql gem.
### PHP Libraries ### Python Libraries ### Java Libraries ### C/C++ Libraries ### Go Libraries
  • graphql - An implementation of GraphQL for Go follows graphql-js
  • graphql-relay-go - A Go/Golang library to help construct a server supporting react-relay.
  • graphql-go - GraphQL server with a focus on ease of use.
  • c-graphqlparser - Go-gettable version of the libgraphqlparser C library for parsing GraphQL.
  • tallstreet-graphql - GraphQL parser and server for Go that leverages libgraphqlparser
  • go-graphql - A powerful GraphQL server implementation for Golang
### Scala Libraries ### .NET Libraries ### Elixir Libraries ### Haskell Libraries ### SQL Libraries ### Lua Libraries ### Elm Libraries ### Clojure Libraries
  • graphql-clj - A Clojure library designed to provide GraphQL implementation.
  • lacinia - GraphQL implementation in pure Clojure.
### Swift Libraries
  • GraphQL - The Swift implementation for GraphQL.
### OCaml Libraries ### Rust Libraries
  • juniper - GraphQL server library for Rust.
## Tools
  • graphiql - An in-browser IDE for exploring GraphQL.
  • GraphiQL.app - A light, Electron-based wrapper around GraphiQL.
  • GraphQLviz - GraphQLviz marries GraphQL (schemas) with Graphviz.
  • graphqlviz - GraphQL API visualizer in Node.js
  • Relay Playground
  • GraphQL AST Explorer - Explore the AST of a GraphQL document interactively
  • GraphQLHub - Query public API's schemas (e.g. Reddit, Twitter, Github, etc) using GraphiQL
  • js-graphql-intellij-plugin - GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript.
  • gdom - DOM Traversing and Scraping using GraphQL.
  • Annotated GraphQL Server - Server for annotated GraphQL showing how to transform a REST api into a GraphQL endpoint with annotations.
  • Model Visualizer - A small webapp that generates an ERD-like visualization of a GraphQL endpoint from an introspection query.
  • GraphQL Network - A chrome dev-tools extension for debugging GraphQL network requests.
  • eslint-plugin-graphql - An ESLint plugin that checks your GraphQL strings against a schema.
  • AST Explorer - Select "GraphQL" at the top, explore the GraphQL AST and highlight different parts by clicking in the query.
  • vim-graphql - A Vim plugin that provides GraphQL file detection and syntax highlighting.
  • GraphQL CMS - Use your existing GraphQL schema to generate simple for use, fully functional CMS in a couple steps.
  • graphdoc - Static page generator for documenting GraphQL Schema.
  • graphql-autocomplete - Autocomplete and lint from a GraphQL endpoint in Atom.
  • GraphQL IDE - An extensive IDE for exploring GraphQL API's.
  • GraphQL Voyager - Represent any GraphQL API as an interactive graph.
  • GraphQL Docs - Instantly create beautiful GraphQL API docs hosted online.
## Databases
  • Dgraph - Scalable, distributed, low latency, high throughput Graph database with GraphQL as the query language
## Services
  • GraphCMS - GraphQL based Headless Content Management System.
  • Graphcool - Your own GraphQL backend in under 5 minutes. Works with every GraphQL client such as Relay and Apollo.
  • Reindex - Instant GraphQL Backend for Your React Apps.
  • Scaphold - GraphQL as a service that includes API integrations such as Stripe and Mailgun.
## Examples ### JavaScript Examples ### TypeScript Examples * [Basic Apollo Server](https://github.com/DxCx/webpack-apollo-server) - Basic Starter for Apollo Server, Using typescript and Webpack. ### Ruby Examples ### Go Examples ### Scala Examples ### Python Examples ### Elixir Examples ## Videos ## Blogs * [Official GraphQL blog](http://graphql.org/blog/) * [Building Apollo](https://medium.com/apollo-stack) ## Posts ## Workshoppers

License

CC0

To the extent possible under law, Chen-Tsu Lin has waived all copyright and related or neighboring rights to this work.