Awesome list of GraphQL & Relay
If you want to contribute to this list (please do), send me a pull request.
- Specification
- Community
- GraphQL Meetups
- Libraries
- Tools
- Services
- Databases
- Examples
- Videos
- Blogs
- Posts
- Workshoppers
- facebook/graphql - Working Draft of the Specification for GraphQL created by Facebook.
- Slack - Share and help people on the chat. Get your invite here
#graphql
on Freenode - The official IRC channel for GraphQL- Facebook - Group for discussions, articles and knowledge sharing
- Twitter - Use the hashtag #graphql
- StackOverflow - Questions and answers. Use the tag graphql
- GraphQL APIs - A collective list of public GraphQL APIs
- GraphQL World - The fastest growing community of GraphQL developers
- 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.
- graphql-sequelize-crud - Automatically generate queries and mutations from Sequelize models.
- 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. 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
- ChromeiQL - Chrome extension to use GraphiQL anywhere
- graphql-auto-mutation - Automatically generates functions for mutations specified in a GraphQL schema.
- GraphiteJS - Full stack GraphQL framework.
- loopback-graphql - GraphQL Server for Loopback.
- parasprite - Describe your GraphQL schema using chainable interface.
- GraphQL.js - JavaScript GraphQL Client for Browser and Node.js Usage
- graphql-sync - Promise-free wrapper to GraphQL.js for synchronous environments
- apollo-fetch - Lightweight GraphQL client that supports custom fetch functions, middleware, and afterware
- Spikenail - Node.js framework for building GraphQL API almost without coding.
- graphql-weaver - A tool to combine, link and transform GraphQL schemas; combine multiple GraphQL servers into one API.
- graphql-lodash - Data manipulation for GraphQL queries with lodash syntax.
- apollo-angular - Angular integration for Apollo.
- graphql-resolvers - Resolver composition library for GraphQL.
- apollo-resolvers - Expressive and composable resolvers for Apollo Server and graphql-tools.
- apollo-errors - Machine-readable custom errors for Apollo Server.
- 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, 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.
- 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.
- batch-loader – A powerful tool to avoid N+1 queries without extra dependencies or primitives.
- graphql-guard - A simple field-level authorization for the graphql gem.
- graphql-php - A PHP port of GraphQL reference implementation.
- graphql-relay-php - Relay helpers for GraphQL & PHP.
- API Platform - API framework compatible with Symfony having native GraphQL support.
- laravel-graphql - Facebook GraphQL for Laravel 5.
- laravel-graphql-relay - A Laravel library to help construct a server supporting react-relay.
- graphql-mapper - This library allows to build a GraphQL schema based on your model.
- graphql-bundle - GraphQL Bundle for Symfony 2.
- overblog/graphql-bundle - This bundle provides tools to build a complete GraphQL server in your Symfony App. Supports react-relay.
- GraphQL – Well documented PHP implementation with no dependencies.
- GraphQL Symfony Bundle – GraphQL Bundle for the Symfony 3 (supports 2.6+).
- WPGraphQL - WordPress plugin that exposes a Relay compliant GraphQL endpoint
- graphql-wp – a WordPress plugin that exposes a GraphQL endpoint.
- eZ Platform GraphQL Bundle - GraphQL Bundle for the eZ Platform Symfony CMS.
- GraphQL Middleware - GraphQL Psr7 Middleware
- Zend Expressive GraphiQL Extension - GraphiQL extension for zend expressive
- graphql-parser - GraphQL parser for Python.
- graphql-core - GraphQL implementation for Python.
- graphql-relay-py - A library to help construct a graphql-py server supporting react-relay.
- graphql-parser-python - A python wrapper around libgraphqlparser.
- graphene - A package for creating GraphQL schemas/types in a Pythonic easy way.
- graphene-gae - Adds GraphQL support to Google AppEngine (GAE).
- django-graphiql - Integrate GraphiQL easily into your Django project.
- flask-graphql - Adds GraphQL support to your Flask application.
- python-graphql-client - Simple GraphQL client for Python 2.7+
- python-graphjoiner - Create GraphQL APIs using joins, SQL or otherwise.
- graphene-django - A Django integration for Graphene.
- graphql-java - GraphQL Java implementation.
- graphql-java-type-generator - Auto-generates types for use with GraphQL Java
- schemagen-graphql - Schema generation and execution package that turns POJO's into a GraphQL Java queryable set of objects. Enables exposing any service as a GraphQL service using Annotations.
- graphql-java-annotations - Provides annotations-based syntax for schema definition with GraphQL Java.
- spring-graphql-common - Spring Framework GraphQL Library.
- graphql-spring-boot - GraphQL and GraphiQL Spring Framework Boot Starters.
- neo4j-graphql - GraphQL bindings for Neo4j, generates and runs Cypher.
- vertx-graphql-service-discovery - Asynchronous GraphQL service discovery and querying for your microservices.
- vertx-dataloader - Port of Facebook DataLoader for efficient, asynchronous batching and caching in clustered GraphQL environments
- LiveGQL - GraphQL subscription client in Java.
- rdbms-to-graphql - A Java CLI program that generates a GraphQL schema from a JDBC data source.
- libgraphqlparser - A GraphQL query parser in C++ with C and C++ APIs.
- 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
- dataloader - Implementation of Facebook's DataLoader in Golang
- sangria - Scala GraphQL client and server library.
- sangria-relay - Sangria Relay Support.
- graphql-scala - An attempt to get GraphQL going with Scala.
- Perl6-GraphQL - GraphQL for Perl6.
- graphql-perl - GraphQL for Perl5.
- graphql-dotnet - GraphQL for .NET.
- Conventions - Reflection-based schema generation for .NET.
- graphql-net - GraphQL to IQueryable for .NET
- FSharp.Data.GraphQL - FSharp GraphQL.
- graphql-erlang - Pure Erlang implementation with IDL and pattern-matching.
- absinthe-graphql - Fully Featured Elixir GraphQL Library.
- graphql-elixir - GraphQL Elixir.
- plug_graphql - Plug integration for GraphQL Elixir.
- graphql_relay - Relay helpers for GraphQL Elixir.
- graphql_parser - Elixir bindings for libgraphqlparser
- graphql - Elixir GraphQL parser.
- plot - GraphQL parser and resolver for Elixir.
- graphql-haskell - GraphQL AST and parser for Haskell.
- GraphpostgresQL - GraphQL for Postgres.
- sql-to-graphql - Generate a GraphQL API based on your SQL database structure.
- PostGraphQL - A GraphQL schema created by reflection over a PostgreSQL schema.
- rdbms-to-graphql - A Java CLI program that generates a GraphQL schema from a JDBC data source.
- graphql-lua - GraphQL for Lua.
- jamesmacaulay/elm-graphql - Client library that lets you build GraphQL queries in Elm.
- ghivert/elm-graphql - Client library that lets you build GraphQL queries in Elm with your own decoders.
- jahewson/elm-graphql - Command-line tool that generates Elm code from queries in .graphql files.
- graphql-clj - A Clojure library designed to provide GraphQL implementation.
- lacinia - GraphQL implementation in pure Clojure.
- alumbra - Simple & Elegant GraphQL for Clojure!
- speako - A ClojureScript/NPM compiler for GraphQL Schema Language.
- venia - A Clojure(Script) GraphQL query generation
- GraphQL - Build GraphQL APIs with Swift.
- Gryphin - Type-safe GraphQL client for iOS and MacOS written in Swift.
- Apollo-iOS - Strongly typed, code-generating, caching GraphQL client for Swift.
- LiveGQL - GraphQL Subscription client in Swift.
- ocaml-graphql-server - GraphQL servers in OCaml.
- juniper - GraphQL server library for Rust.
- graphql - Bindings to libgraphqlparser for R.
- gqlr - GraphQL server package for R.
- ghql - GraphQL client package for R.
- Diana.jl - Julia client for GraphQL.
- ktq - Kotlin gradle plugin SDL type generator & runtime client
- graphiql - An in-browser IDE for exploring GraphQL.
- GraphQL Playground - GraphQL IDE that supports multi-column schema docs, tabs, query history, configuration of HTTP headers and GraphQL Subscriptions.
- 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.
- Swagger to GraphQL - GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes
- GraphQL Voyager - Represent any GraphQL API as an interactive graph.
- GraphQL Docs - Instantly create beautiful GraphQL API docs hosted online.
- GraphQL Faker - 🎲 Mock or extend your GraphQL API with faked data. No coding required.
- ts-graphql-plugin - A language service plugin complete and validate GraphQL query in TypeScript template strings.
- Apollo Launchpad - Like JSFiddle for GraphQL server code, write and deploy a GraphQL API directly from your browser.
- Apollo Tracing - GraphQL extension that enables you to easily get resolver-level performance information as part of a GraphQL response.
- Altair GraphQL Client - A graphQL API client for GraphQL (like Postman for graphQL) with chrome and firefox extensions as well as desktop apps for all platforms.
- Apollo Storybook Decorator - Wrap your React Storybook stories with Apollo Client, provide mocks for isolated UI testing with GraphQL
- GraphQL Metrics - instrument GraphQL resolvers, logging response times and statuses (if there was an error or not) to the console as well as to InfluxDB.
- GraphQL Rover - GraphQL schema interactive navigation, rearrange nodes, search and explore types and fields.
- json-graphql-server - Get a full fake GraphQL API with zero coding in less than 30 seconds, based on a JSON data file.
- Insomnia – An full-featured API client with first-party GraphQL query editor
- Graphcool Framework - Framework to develop and deploy serverless GraphQL backends.
- ArangoDB - Multi-model database that supports GraphQL schemas in JavaScript inside the database.
- Dgraph - Scalable, distributed, low latency, high throughput Graph database with a GraphQL like language (called GraphQL+) as the query language. Dgrapqh can be queried with graphql by using dgraphql
- 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.
- Tipe - Next Generation API-first CMS with a GraphQL or REST API. Stop letting your CMS decide how you build your apps.
- relay-starter-kit - Barebones starting point for a Relay application.
- react-starter-kit - Isomorphic web app boilerplate (Node.js/Express, GraphQL, React)
- nodejs-api-starter - Boilerplate and tooling for authoring data API backends with Node.js and GraphQL
- swapi-graphql - A GraphQL schema and server wrapping swapi.
- graphql-server - GraphQL server with Mongoose (MongoDB) and Node.js.
- graphql-intro - https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2
- graphql-aws - Amazon AWS GraphQL API Server.
- graffiti-todo - Example Relay TodoMVC application using graffiti-mongoose.
- devknoll/gist:8b274f1c5d05230bfade
- UniversalRelayBoilerplate Boilerplate + examples for React Native (iOS, Android), React (isomorphic, Material-UI), Relay, GraphQL, JWT, Node.js, Apache Cassandra.
- vslinko/ripster
- relay-skeleton - React, Relay, GraphQL project skeleton
- simple-relay-starter - A very simple starter for React Relay using Browserify.
- relay-chat - an chat example showing Relay with routing and pagination.
- relay-todomvc - Relay TodoMVC with routing.
- graphql-express-sqlite - GraphQL server with Sqlite and Express
- koa-graphql-relay-example - Example of koa-graphql
- relay-fullstack - Relay Starter Kit integrated with Relay, GraphQL, Express, ES6/ES7, JSX, Webpack, Babel, Material Design Lite, and PostCSS.
- serverless-graphql-blog - A Serverless Blog leveraging GraphQL to offer a REST API with only 1 endpoint
- relay-cart - A simple shopping cart example leveraging relay & GraphQL with routing and pagination.
- graphql-loader - Example project to illustrate GraphQL, Express and Facebook DataLoader to connect to third party REST API
- swapi-graphql-lambda - A GraphQL schema hosted in AWS Lambda wrapping https://swapi.co/
- Apollo Client documentation - Documentation and example for building GraphQL apps using apollo client
- Apollo Server tools, products, and libraries documentation - Documentation, tutorial and examples for building GraphQL server and connecting to SQL, MongoDB and REST endpoints.
- Apollo Link - The official guide for getting started with Apollo Link - a standard interface for modifying control flow of GraphQL requests and fetching GraphQL results.
- f8-apollo - Refactored version of the official F8 app of 2016, powered by React Native and the Apollo Stack.
- f8app - Source code of the official F8 app of 2016, powered by React Native and other Facebook open source projects. https://makeitopen.com
- Reindex Examples - Example projects for Reindex with using React Native and React.js for web.
- Modelizr Documentation - Documentation and Usage Examples for modelizr
- Vue Apollo Example - Apollo example project for Vue 2.0.
- angular2-graphql-rest - An example app with REST Api working side by side with GraphQL using Apollo Client with angular2-apollo. Includes step-by-step tutorial how to migrate from REST to GraphQL.
- GraphQL-DataLoader-Boilerplate - Boilerplate to start your GraphQL with DataLoader server
- GraphQL-CEP - Query address by CEP
- Apollo React example for Github GraphQL API - Usage Examples Apollo React for Github GraphQL API with create-react-app
- Intuitive GraphQL Resolver Example - GraphQL application example using RawModel.js.
- ReactQL starter kit - Universal React + Apollo + Redux + React Router 4, with SSR-enabled GraphQL, store (de/re)hydration and production code bundling.
- microhn - Simple Hacker News client built on top of GraphQLHub
- Apollo Web&Mobile Universal Starter Kit with Hot Code Reload - Apollo, GraphQL, React, React Native, Expo, Redux, Express, SQL and Twitter Bootstrap. Hot Code Reload of back end & front end using Webpack and Hot Module Replacement.
- Building Decoupled Sites and Apps with GraphQL and Next.js
- Basic Apollo Server - Basic Starter for Apollo Server, Using typescript and Webpack.
- Apollo Graphql Express Server - Minimal Apollo Graphql Express Server
- graphql-ruby-demo - Use graphql-ruby to expose a Rails app.
- github-graphql-rails-example - Example Rails app using GitHub's GraphQL API.
- relay-on-rails - Barebones starter kit for Relay application with Rails GraphQL server.
- relay-rails-blog - A graphql, relay and standard rails application powered demo weblog.
- to_eat_app - A sample graphql/rails/relay application with a related 3-part article series.
- golang-relay-starter-kit - Barebones starting point for a Relay application with Golang GraphQL server.
- golang-graphql-playground - An example Golang GraphQL server written with graphql-go and graphql-relay-go. Try live demo at: https://golanggraphqlplayground-sogko.rhcloud.com
- todomvc-relay-go - Port of the React/Relay TodoMVC app, driven by a Golang GraphQL backend.
- sangria-akka-http-example - An example GraphQL server written with akka-http and sangria
- sangria-playground - An example of GraphQL server written with Play and sangria.
- swapi-graphene - A GraphQL schema and server using Graphene - View demo online.
- absinthe_example - Example usage of Absinthe GraphQL
- hello_graphql_phoenix - Examples of GraphQL Elixir Plug endpoints mounted in Phoenix - View demo online.
- Siler's GraphQL guide - A guide on how to build a PHP GraphQL endpoint.
- Laravel GraphQL - A sample integrating GraphQL with Laravel
- Adding a GraphQL API to your Symfony Flex application
- Todo list example - A todo list integrating GraphQL.
- Zero to GraphQL in 30 Minutes
- Data fetching for React applications at Facebook
- React Native & Relay: Bringing Modern Web Techniques to Mobile
- Exploring GraphQL
- Creating a GraphQL Server
- GraphQL at The Financial Times
- Relay: An Application Framework For React
- Building and Deploying Relay with Facebook
- Introduction to GraphQL
- Exploring GraphQL@Scale
- What's Next for Phoenix by Chris McCord
- GraphQL with Nick Schrock
- Build a GraphQL server for Node.js using PostgreSQL/MySQL
- GraphQL server tutorial for Node.js with SQL, MongoDB and REST
- JavaScript Air Episode 023: Transitioning from REST to GraphQL
- GraphQL Future at react-europe 2016
- GraphQL at Facebook at react-europe 2016
- Building native mobile apps with GraphQL at react-europe 2016
- Using DataLoader to batch GraphQL requests
- Introducing Relay and GraphQL
- GraphQL Introduction
- Unofficial Relay FAQ
- Your First GraphQL Server
- GraphQL Overview - Getting Started with GraphQL and Node.js
- 4 Reasons you should try out GraphQL
- Moving from REST to GraphQL
- Writing a Basic API with GraphQL
- Start using GraphQL with Graffiti
- Building a GraphQL Server with Node.js and SQL
- GraphQL at The Financial Times
- Relay for visual learners
- Relay and Routing
- Learn Golang + GraphQL + Relay, Part 1: Your first Golang GraphQL server
- Learn Golang + GraphQL + Relay, Part 2: Your first Relay application
- From REST to GraphQL
- GraphQL: A data query language
- Subscriptions in GraphQL and Relay
- Relay 101: Building A Hacker News Client
- GraphQL Shorthand Notation Cheatsheet
- The GitHub GraphQL API
- Github GraphQL API React Example
- Testing a GraphQL Server using Jest
- How to implement viewerCanSee in GraphQL
- Introducing Yelp's Local Graph
- Sharing data in a Microservices Architecture using GraphQL
- How to GraphQL - Fullstack Tutorial Website with Tracks for all Major Frameworks & Languages including React, Apollo, Relay, JavaScript, Ruby, Java, Elixir and many more
- learning-graphql - An attempt to learn GraphQL.
- Learn Relay - A comprehensive introduction to Relay
- Learn Apollo - A hands-on tutorial for Apollo GraphQL Client
To the extent possible under law, Chen-Tsu Lin has waived all copyright and related or neighboring rights to this work.