You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
neomatrix 63a6c55d9e Added Julia library (#513) 3 days ago
.github Move pull_request_template.md to .github folder 2 years ago
.travis.yml Run awesome_bot on all links again (#461) 6 months ago
README.md Added Julia library (#513) 3 days ago
contributing.md add contributing.md 4 years ago

README.md

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.

Foundation

Community

  • Slack - Share and help people on the chat. Get your invite here
  • 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
  • /r/GraphQL - A Subreddit for interesting and informative GraphQL content and discussions.
  • GraphQL Jobs - A list of GraphQL-based jobs in startups all over the world.
  • Bookmarks.dev - Dev bookmarks. Use the tag graphql

GraphQL Meetups

Libraries

JavaScript Libraries

Clients

  • relay - Relay is a JavaScript framework for building data-driven React applications.
  • Apollo Client - A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
  • aws-amplify - A client library developed by Amazon for caching, analytics and more that includes a way to fetch GraphQL queries.
  • graphql-hooks - Minimal hooks-first GraphQL client with caching and server-side rendering support.
  • graphql-request - A minimal GraphQL client for Node and browsers.
  • FetchQL - A simple GraphQL query client using Fetch.
  • urql - A simple caching GraphQL client for React.
  • micro-graphql-react - A lightweight utility for adding GraphQL to React. components. Includes simple caching and uses GET requests that could additionally be cached through a service-worker.
  • Lokka - Simple JavaScript client for GraphQL, which you can use anywhere.
  • react-reach - A library to communicate with Graphql through Redux.
  • Grafoo - A tiny yet fully fledged cache based GraphQL client
  • mst-gql - Bindings for mobx-state-tree and GraphQL

HTTP Server Bindings

Database & ORM

  • graphql-bookshelf - Some help defining GraphQL schema around BookshelfJS models.
  • graphql-sequelize - Sequelize helpers for GraphQL.
  • graphql-thinky - Build an optimized GraphQL schema from Thinky RethinkDB models.
  • graphql-tools-sequelize - OO-style schema definition functions and schema resolver functions for GraphQL-Tools using Sequelize ORM
  • graysql-orm-loader - A GraysQL extension to load a GraphQL schema from an ORM.
  • GRelDAL - A simple micro-framework for bidirectional mapping between relational datastores and GraphQL APIs.

Miscellaneous

  • GraphQL.js - A reference implementation of GraphQL for JavaScript.
  • codemirror-graphql - GraphQL mode and helpers for CodeMirror.
  • graphql-schema - Create GraphQL schemas with a fluent/chainable interface.
  • graphql-tools-types - Custom GraphQL types for use with GraphQL-Tools (Void, Int, Float, String, Date, UUID, JSON)
  • graphql-normalizr - Normalize GraphQL responses for persisting in the client cache/state
  • babel-plugin-graphql - Babel plugin that compile GraphQL tagged template strings.
  • adrenaline - React bindings for Redux with Relay in mind.
  • graph.ql - Faster and simpler technique for creating and querying GraphQL schemas.
  • Strapi - Open-source Node.js framework that supports “GraphQL” out of the box.
  • GraysQL - A GraphQL manager and loader.
  • Annotated GraphQL - Proof of Concept for annotations in GraphQL (i.e.: transform an existing REST api into a GraphQL endpoint).
  • 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-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.
  • Join Monster - A GraphQL-to-SQL query execution layer for batch data fetching.
  • graphql-factory - Create GraphQL types from JSON definitions
  • type-o-rama - JS type systems interportability.
  • GraphiteJS - Framework NodeJS for GraphQl.
  • GraphQL Joker - The ultimate GraphQL scaffolding tool.
  • reactive-graphql - Implementation of GraphQL based on RxJS and that supports live queries.
  • 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-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.
  • 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!

TypeScript Libraries

  • GraphQL Nexus - Declarative, code-first and strongly typed GraphQL schema construction for TypeScript & JavaScript.

Ruby Libraries

  • graphql-ruby - Ruby implementation of Facebook’s GraphQL.
  • graphql-client - A Ruby library for declaring, composing and executing GraphQL queries.
  • graphql-batch - A query batching executor for the graphql gem.
  • agoo - Ruby web server that implements Facebook’s GraphQL.
  • GQLi - A GraphQL client and DSL. Allowing to write queries in native Ruby.

PHP Libraries

  • graphql-php - A PHP port of GraphQL reference implementation.
  • Railt - High quality and loosely coupled framework for developing GraphQL applications using all the modern qualities of the language.
  • digiaonline - Yet another PHP port of GraphQL reference implementation.
  • GraphQL (abandoned) - Well documented PHP implementation with no dependencies.
  • graphql-relay-php - Relay helpers for webonyx/graphql-php implementation of GraphQL.
  • lighthouse - A PHP package that allows to serve a GraphQL endpoint from your Laravel application.
  • laravel-graphql (abandoned) - Facebook GraphQL for Laravel 5.
  • laravel-graphql-relay - A Laravel library to help construct a server supporting react-relay.
  • graphql-mapper (abandoned) - 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 Symfony Bundle - GraphQL Bundle for the Symfony 3 (supports 2.6+).
  • graphql-wp - 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
  • GraphQLite - Framework agnostic library that allows you to write GraphQL server by annotating your PHP classes.

Python Libraries

Java Libraries

C/C++ Libraries

  • libgraphqlparser - A GraphQL query parser in C++ with C and C++ APIs.
  • cppgraphqlgen - C++ GraphQL schema service generator.
  • CaffQL - Generates C++ client types and request/response serialization from a GraphQL introspection query.

Go Libraries

  • graphql - An implementation of GraphQL for Go follows graphql-js
  • graphql-go - GraphQL server with a focus on ease of use.
  • GQLGen - Go generate based graphql server library.
  • machinebox/graphql - Simple low-level GraphQL client for Go
  • graphql-relay-go - A Go/Golang library to help construct a server supporting react-relay.
  • graphql - GraphQL parser and server for Go.
  • 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

  • GraphpostgresQL - GraphQL for Postgres.
  • sql-to-graphql - Generate a GraphQL API based on your SQL database structure.
  • PostGraphile - Lightning-fast GraphQL APIs for PostgreSQL: highly customisable; extensible via plugins; realtime.
  • Hasura - Hasura gives Instant Realtime GraphQL APIs over PostgreSQL. Works with an existing database too.

Lua Libraries

Elm Libraries

Clojure Libraries

  • graphql-clj - A Clojure library designed to provide GraphQL implementation.
  • Lacinia - GraphQL implementation in pure Clojure.
  • graphql-query - Clojure(Script) GraphQL query generation.

Swift Libraries

  • GraphQL - The Swift implementation for GraphQL.

OCaml Libraries

Android Libraries

  • apollo-android - 📟 A strongly-typed, caching GraphQL client for Android, written in Java

iOS Libraries

  • apollo-ios - 📱 A strongly-typed, caching GraphQL client for iOS, written in Swift
  • ApolloDeveloperKit - Apollo Client Devtools bridge for [Apollo iOS].

ClojureScript Libraries

  • re-graph - A GraphQL client for ClojureScript with bindings for re-frame applications.
  • graphql-query - Clojure(Script) GraphQL query generation.

ReasonML Libraries

  • reason-apollo - ReasonML binding for Apollo Client
  • ReasonQL - Type-safe and simple GraphQL Client for ReasonML developers.
  • reason-urql - ReasonML binding for urql Client

Dart Libraries

  • Angel GraphQL - GraphQL server implementation with bindings for the Angel framework.
  • graphql-flutter - A GraphQL client for Flutter.
  • Artemis - A GraphQL type and query generator for Dart/Flutter.

Rust Libraries

  • juniper - GraphQL server library for Rust.
  • graphql-client - GraphQL client library for Rust with WebAssembly (wasm) support.
  • graphql-parser - A parser, formatter and AST for the GraphQL query and schema definition language for Rust.

D (dlang) Libraries

  • graphqld - GraphQL server library for D.

Julia Libraries

  • Diana.jl - A Julia GraphQL client/server implementation.

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
  • 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 Code Generator - GraphQL code generator based on schema and documents.
  • 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 beautiful feature-rich GraphQL Client 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
  • Prisma - Turn your database into a GraphQL API. Prisma lets you design your data model and have a production ready GraphQL API online in minutes.
  • tuql - Automatically create a GraphQL server from any sqlite database.
  • Bit - Organize GraphQL API as components to be consumed with NPM or modified from any project (example).
  • RAN Toolkit - Production-ready toolkit/boilerplate with support for GraphQL, SSR, Hot-reload, CSS-in-JS, caching, and more.
  • Apollo GraphQL VSCode Extension - Rich editor support for GraphQL client and server development that seamlessly integrates with the Apollo platform
  • GRAPHQL DESIGNER - A developer’s web-app tool to rapidly prototype a full stack CRUD implementation of GraphQL with React.
  • GraphQL Inspector - Tooling for GraphQL. Compare schemas, validate documents, find breaking changes, find similar types, schema coverage.
  • graphql-typed-client - A tool that generates a strongly typed client library for any GraphQL endpoint. The client allows writing GraphQL queries as plain JS objects (with type safety and awesome code completion experience)
  • OpenAPI-to-GraphQL - Take any OpenAPI Specification (OAS) or swagger and create a GraphQL interface - Two minute video and resources here
  • SwitchQL - Automated transcription of database schemas into GraphQL schemas, resolvers, queries, and mutations
  • VulcanJS - The full-stack React+GraphQL framework
  • Apollo Client Developer Tools - GraphQL debugging tools for Apollo Client in the Chrome developer console

Databases

Services

  • AWS AppSync - Scalable managed GraphQL service with subscriptions for building real-time and offline-first apps
  • DatoCMS - CDN-based GraphQL based Headless Content Management System.
  • FastQL - CDN specifically for GraphQL applications
  • 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.
  • FakeQL - GraphQL API mocking as a service … because GraphQL API mocking should be easy!

Examples

JavaScript Examples

TypeScript Examples

Ruby Examples

  • 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.
  • agoo-demo - Use of the Agoo server to demonstrate a simple GraphQL application.

Go Examples

Scala Examples

Python Examples

Elixir Examples

Java Examples

Android Examples

iOS Examples

Clojure Examples

Java Examples

Books

Videos

Blogs

Posts

Workshoppers

  • GraphQL of Thrones - Total beginner tutorial focused on just GraphQL without all the tooling. Alternates between LEARN and PLAY modes roleplaying as Game of Thrones characters.
  • 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.
  • Let’s Learn GraphQL - Lessons/walkthrough of GraphQL concepts.

License

CC0

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