List.community

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.js10k 932 - A reference implementation of GraphQL for JavaScript.
  • express-graphql3k 298 - GraphQL Express Middleware.
  • koa-graphql421 47 - GraphQL Koa Middleware.
  • hapi-graphql90 28 - Create a GraphQL HTTP server with Hapi.
  • codemirror-graphql75 26 - GraphQL mode and helpers for CodeMirror.
  • graphql-schema118 8 - Create GraphQL schemas with a fluent/chainable interface.
  • graphql-sequelize989 145 - Sequelize helpers for GraphQL.
  • graphql-sequelize-crud63 15 - Automatically generate queries and mutations from Sequelize models.
  • graffiti1k 61 - Node.js GraphQL ORM.
  • graffiti-mongoose403 67 - Mongoose (MongoDB) adapter for graffiti (Node.js GraphQL ORM).
  • babel-plugin-graphql64 2 - Babel plugin that compile GraphQL tagged template strings.
  • adrenaline728 45 - React bindings for Redux with Relay in mind.
  • graphql-bookshelf151 13 - Some help defining GraphQL schema around BookshelfJS models.
  • graphql-bookshelfjs1 1 - A simple bridge between your graphql queries and your bookshelf models, perform batched and optimised queries.
  • graph.ql504 25 - Faster and simpler technique for creating and querying GraphQL schemas.
  • react-reach119 1 - A library to communicate with Graphql through Redux
  • Lokka941 41 - Simple JavaScript client for GraphQL, which you can use anywhere.
  • Strapi - Open-source Node.js framework that supports "GraphQL" out of the box.
  • GraysQL22 4 - 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 Client5k 520 - A well-documented GraphQL client. Has React and Angular bindings.
  • graphql-tools956 123 - Tool library for building and maintaining GraphQL-JS servers.
  • graphql-anywhere179 15 - Run a GraphQL query anywhere, against any data, with no schema.
  • graphql-tag271 42 - A JavaScript template literal tag that parses GraphQL queries.
  • modelizr135 5 - A library for simplifying the process of writing GraphQL queries, mocking them and normalizing their responses.
  • vue-apollo1k 87 - Vue integration for apollo.
  • graphql-thinky44 5 - Build an optimized GraphQL schema from Thinky RethinkDB models.
  • graphql-pouch96 5 - A GraphQL-API runtime on top of PouchDB created by GraphQL shorthand notation as a self contained service with CouchDB synchronization.
  • gql-tools11 1 - Tool library with CLI for schema generation and manipulation.
  • graphql-iso-date112 12 - 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-compose234 24 - Tool which allows you to construct flexible graphql schema from different data sources via plugins.
  • node-graphjoiner21 1 - Create GraphQL APIs using joins, SQL or otherwise.
  • FetchQL - GraphQL query client with Fetch
  • Join Monster1k 97 - A GraphQL-to-SQL query execution layer for batch data fetching.
  • Create-GraphQL18 3 - Command-line utility to build production-ready servers with GraphQL.
  • GraphQL-Pokémon84 7 - 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.
  • GraphiteJS52 6 - Full stack GraphQL framework.
  • loopback-graphql - GraphQL Server for Loopback.
  • parasprite4 2 - Describe your GraphQL schema using chainable interface.
  • GraphQL.js176 12 - JavaScript GraphQL Client for Browser and Node.js Usage
  • graphql-sync29 2 - Promise-free wrapper to GraphQL.js for synchronous environments
  • apollo-fetch363 23 - Lightweight GraphQL client that supports custom fetch functions, middleware, and afterware
  • Spikenail223 3 - Node.js framework for building GraphQL API almost without coding.
  • graphql-weaver70 6 - 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-angular158 46 - Angular integration for Apollo.
  • graphql-resolvers - Resolver composition library for GraphQL.
  • apollo-resolvers61 5 - Expressive and composable resolvers for Apollo Server and graphql-tools.
  • apollo-errors70 6 - Machine-readable custom errors for Apollo Server.
  • mongo-graphql-starter125 5 - Flexible and robust Mongo based resolvers for Node.
Relay Related
  • relay11k 1k - Relay is a JavaScript framework for building data-driven React applications.
  • graphql-relay-js810 121 - A library to help construct a graphql-js server supporting react-relay.
  • sequelize-relay64 7 - Serverside library that connects sequelize and graphql-relay-js together.
  • babel-plugin-react-relay54 11 - 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-relay565 83 - Relay integration for React Router.
  • relay-local-schema169 10 - Use Relay without a GraphQL server.
  • relay-sink133 3 - Use Relay to fetch and store data outside of a React component.
  • recompose-relay9k 776 - Recompose helpers for Relay.
  • Graylay - A GraysQL extension to create a Relay compatible Schema.
  • Apollo Client5k 520 - A simple alternative to Relay, comes with React and Angular bindings.
  • react-relay-network-layer259 36 - A network layer for Relay with query batching and middleware support (urlThunk, retryThunk, auth, defer and other).
  • relay-subscriptions180 15 - 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édex44 8 - Project using GraphQL Pokémon to show how powerful Relay is.

Ruby Libraries

  • graphql-ruby3k 388 - Ruby implementation of Facebook's GraphQL.
  • graphql-parser37 8 - A small ruby gem wrapping the libgraphqlparser C library for parsing GraphQL.
  • graphql-client805 85 - A Ruby library for declaring, composing and executing GraphQL queries.
  • graphql-batch375 37 - A query batching executor for the graphql gem.
  • batch-loader – A powerful tool to avoid N+1 queries without extra dependencies or primitives.
  • graphql-guard133 7 - A simple field-level authorization for the graphql gem.

PHP Libraries

Python Libraries

Java Libraries

  • graphql-java2k 330 - GraphQL Java implementation.
  • graphql-java-type-generator - Auto-generates types for use with GraphQL Java
  • schemagen-graphql27 7 - 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-annotations99 53 - Provides annotations-based syntax for schema definition with GraphQL Java.
  • spring-graphql-common62 19 - Spring Framework GraphQL Library.
  • graphql-spring-boot93 21 - GraphQL and GraphiQL Spring Framework Boot Starters.
  • neo4j-graphql26 10 - GraphQL bindings for Neo4j, generates and runs Cypher.
  • vertx-graphql-service-discovery9 4 - Asynchronous GraphQL service discovery and querying for your microservices.
  • vertx-dataloader24 4 - Port of Facebook DataLoader for efficient, asynchronous batching and caching in clustered GraphQL environments
  • LiveGQL - GraphQL subscription client in Java.
  • rdbms-to-graphql3 1 - A Java CLI program that generates a GraphQL schema from a JDBC data source.
  • Rejoiner1k 26 - Generates a GraphQL schema based on one or more gRPC microservices, or any other Protobuf source.

C/C++ Libraries

Go Libraries

  • graphql2k 206 - An implementation of GraphQL for Go follows graphql-js
  • graphql-relay-go154 30 - A Go/Golang library to help construct a server supporting react-relay.
  • graphql-go533 45 - GraphQL server with a focus on ease of use.
  • c-graphqlparser29 1 - Go-gettable version of the libgraphqlparser C library for parsing GraphQL.
  • tallstreet-graphql - GraphQL parser and server for Go that leverages libgraphqlparser
  • go-graphql104 9 - A powerful GraphQL server implementation for Golang
  • dataloader69 7 - Implementation of Facebook's DataLoader in Golang

Scala Libraries

Perl Libraries

.NET Libraries

Erlang Libraries

  • graphql-erlang85 14 - Pure Erlang implementation with IDL and pattern-matching.

Elixir Libraries

Haskell Libraries

SQL Libraries

  • GraphpostgresQL1k 23 - GraphQL for Postgres.
  • sql-to-graphql120 14 - Generate a GraphQL API based on your SQL database structure.
  • PostGraphQL2k 141 - A GraphQL schema created by reflection over a PostgreSQL schema.
  • rdbms-to-graphql3 1 - A Java CLI program that generates a GraphQL schema from a JDBC data source.

Lua Libraries

Elm Libraries

Clojure Libraries

  • graphql-clj216 17 - A Clojure library designed to provide GraphQL implementation.
  • lacinia887 65 - GraphQL implementation in pure Clojure.
  • alumbra58 4 - Simple & Elegant GraphQL for Clojure!

ClojureScript Libraries

  • speako6 1 - A ClojureScript/NPM compiler for GraphQL Schema Language.
  • venia12 3 - A Clojure(Script) GraphQL query generation

Swift Libraries

  • GraphQL354 23 - Build GraphQL APIs with Swift.
  • Graphiti65 15 - Build Swiftier GraphQL APIs with Swift.
  • Gryphin - Type-safe GraphQL client for iOS and MacOS written in Swift.
  • Apollo-iOS495 62 - Strongly typed, code-generating, caching GraphQL client for Swift.
  • LiveGQL25 5 - GraphQL Subscription client in Swift.

OCaml Libraries

Rust Libraries

  • juniper136 15 - GraphQL server library for Rust.

R Libraries

  • graphql10 3 - Bindings to libgraphqlparser for R.
  • gqlr - GraphQL server package for R.
  • ghql5 1 - GraphQL client package for R.

Julia Libraries

Kotlin Libraries

  • ktq - Kotlin gradle plugin SDL type generator & runtime client

Tools

  • graphiql5k 446 - An in-browser IDE for exploring GraphQL.
  • GraphQL Playground1k 77 - GraphQL IDE that supports multi-column schema docs, tabs, query history, configuration of HTTP headers and GraphQL Subscriptions.
  • GraphiQL.app798 85 - A light, Electron-based wrapper around GraphiQL.
  • GraphQLviz56 1 - GraphQLviz marries GraphQL (schemas) with Graphviz.
  • graphqlviz201 21 - 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-plugin199 18 - GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript.
  • gdom904 25 - 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 Network106 7 - A chrome dev-tools extension for debugging GraphQL network requests.
  • eslint-plugin-graphql114 15 - 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-graphql10 2 - 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.
  • graphdoc109 7 - Static page generator for documenting GraphQL Schema.
  • graphql-autocomplete10 1 - Autocomplete and lint from a GraphQL endpoint in Atom.
  • GraphQL IDE333 15 - An extensive IDE for exploring GraphQL API's.
  • Swagger to GraphQL110 17 - GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes
  • GraphQL Voyager2k 57 - Represent any GraphQL API as an interactive graph.
  • GraphQL Docs - Instantly create beautiful GraphQL API docs hosted online.
  • GraphQL Faker246 15 - 🎲 Mock or extend your GraphQL API with faked data. No coding required.
  • ts-graphql-plugin100 6 - 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 Client171 19 - 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 Decorator75 7 - 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 Rover53 1 - GraphQL schema interactive navigation, rearrange nodes, search and explore types and fields.
  • json-graphql-server130 8 - 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
  • Prisma1k 39 - Turn your database into a GraphQL API. Prisma lets you design your data model and have a production ready GraphQL API online in minutes.
  • tuql18 1 - Automatically create a GraphQL server from any sqlite database.

Databases

  • 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 dgraphql10 1

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.
  • Tipe - Next Generation API-first CMS with a GraphQL or REST API. Stop letting your CMS decide how you build your apps.

Examples

JavaScript Examples

TypeScript Examples

Ruby Examples

Go Examples

Scala Examples

Python Examples

Elixir Examples

PHP Examples

ReasonML Examples

Videos

Blogs

Posts

Tutorials

  • 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-graphql531 72 - An attempt to learn GraphQL.
  • Learn Relay - A comprehensive introduction to Relay
  • Learn Apollo - A hands-on tutorial for Apollo GraphQL Client

License

CC0

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