Need help with awesome-graphql?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

chentsulin
12.8K Stars 1.1K Forks 774 Commits 59 Opened issues

Description

Awesome list of GraphQL & Relay

Services available

!
?

Need anything else?

Contributors list

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.
  • OpenCRUD - OpenCRUD is a GraphQL CRUD API specification for databases by Prisma.

Foundation

Community

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.
  • Apollo Elements - GraphQL web components that work in any frontend framework.
  • 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.
  • typescript-graphql-request - Use GraphQL Request as a fully typed SDK.
  • 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
  • graphql-pino-middleware - GraphQL middleware to augment resolvers with pino logger
  • graphql-lightstep-middleware - GraphQL middleware to instrument resolvers with
    lightstep
    traces
  • gqless - A GraphQL client without queries ✨
  • GraphQL Zeus - GraphQL Zeus creates autocomplete client library for
    JavaScript
    or
    TypeScript
    which provides autocompletion for strongly typed queries.

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.
  • fireQL - A GraphQL API for Firebase (Firestore database), auto-hosted on cloud functions.

Miscellaneous

  • GraphQL.js - A reference implementation of GraphQL for JavaScript.
  • graphql-yoga - Fully-featured GraphQL Server with focus on easy setup, performance and great developer experience.
  • 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 Headless CMS 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-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.
  • graphql-modules - Separate GraphQL server into smaller, reusable parts by modules or features.
  • node-graphjoiner - Create GraphQL APIs using joins, SQL or otherwise.
  • Join Monster - A GraphQL-to-SQL query execution layer for batch data fetching.
  • 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-shield - A library that helps creating a permission layer for a graphql api.
  • Preact-urql - Preact integration for urql.
  • graphql-let - A webpack loader to import type-protected codegen results directly from GraphQL documents
  • GraphQL Config: One configuration for all your GraphQL tools (supported by most tools, editors & IDEs).
  • GraphQL CLI: A command line tool for common GraphQL development workflows.
  • GraphQL Scalars: A library of custom GraphQL scalar types for creating precise, type-safe GraphQL schemas.
  • GraphQL Toolkit: A set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more).
  • SOFA: Generate REST API from your GraphQL API.
  • Graphback - Framework and CLI to add a GraphQLCRUD API layer to a GraphQL server using data models.
  • graphql-ably-pubsub - Ably PubSub implementation for GraphQL to publish mutation updates and subscribe to the result through a subscription query.
  • graphql-middleware - Split up your GraphQL resolvers in middleware functions.

Relay Related

  • 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

  • TypeGraphQL - Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
  • GraphQL Nexus - Declarative, code-first and strongly typed GraphQL schema construction for TypeScript & JavaScript.
  • GraphQL Code Generator: GraphQL code generator with flexible support for custom plugins and templates like Typescript (frontend and backend), React Hooks, resolvers signatures and more.
  • GiraphQL - A plugin based schema builder for creating code-first GraphQL schemas in typescript.
  • graphql-editor - Visual GraphQL editor.

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.
  • graphql-auth - A JWT auth wrapper working with devise.
  • 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.
  • Siler - Plain-old functions providing a declarative API for GraphQL servers with Subscriptions support.
  • GraPHPinator - Easy-to-use GraphQL server implementation for modern PHP.

Python Libraries

Java Libraries

Kotlin Libraries

  • graphql-kotlin - GraphQL Kotlin implementation.
  • KGraphQL: Pure Kotlin implementation to setup a GraphQL server.

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
  • Super Graph: Fetch data without code! Super Graph gives you a high performance GraphQL API without you having to write any code. GraphQL is automagically compiled into an efficient SQL query. Use it either as a library or a standalone service.

Scala Libraries

  • sangria - Scala GraphQL server implementation.
  • sangria-relay - Sangria Relay Support.
  • graphql-scala - An attempt to get GraphQL going with Scala.
  • caliban - Caliban is a purely functional library for creating GraphQL backends in Scala.

.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.
  • subZero - GraphQL & REST API for your database

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].
  • Graphaello - Type Safe GraphQL directly from SwiftUI

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

  • async-graphql - High-performance server-side library that supports all GraphQL specifications.
  • 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.

R (Rstat) Libraries

  • ghql - General purpose GraphQL R client
  • graphql - Bindings to the 'libgraphqlparser' C++ library. Parses GraphQL syntax and exports the AST in JSON format.
  • gqlr - R GraphQL Implementation

Julia Libraries

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

Crystal Libraries

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 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 - A 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
  • GraphQL Birdseye – View any GraphQL schema as a dynamic and interactive graph.
  • GraphQL Inspector: Compare schemas, validate documents, find breaking changes, find similar types, schema coverage, and more.
  • gqldoc - The easiest way to make API documents for GraphQL.
  • Apollo Sandbox - The quickest way to navigate and test your GraphQL endpoints.
  • Apollo Workbench - Tooling to help you develop and mock federated schemas using Apollo Federation
  • GraphQL '98 - A visual GraphQL data browser, like a SQL GUI for GraphQL

Tools - Security

Databases

  • Dgraph - Scalable, distributed, low latency, high throughput Graph database with GraphQL as the query language
  • EdgeDB - The next generation object-relational database with native GraphQL support.
  • FaunaDB - Relational NoSQL database with GraphQL schema import. Supports joins, indexes, and multi-region ACID transactions with serverless pay-per-use pricing.
  • ArangoDB - Native multi-model database with GraphQL integration via the built-in Foxx Microservices Framework.
  • Weaviate - Weaviate is a cloud-native, modular, real-time vector search engine with a GraphQL interface built to scale your machine learning models.

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!
  • Moesif API Analytics - A GraphQL analaytics and monitoring service to find functional and performance issues.
  • Booster framework - An open-source framework that makes you completely forget about infrastructure and allows you to focus exclusively on your business logic. It autogenerates a GraphQL API for your models, supporting mutations, queries, and subscriptions.
  • Hypi - Low-code, scalable, serverless backend as a service. Your GraphQL & REST over GraphQL backend in minutes.

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.
  • toeatapp - 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.
  • rails-devise-graphql - A rails 6 boilerplate with devise, graphql & JWT auth.

Go Examples

Scala Examples

Python Examples

Elixir Examples

Java Examples

Android Examples

iOS Examples

Clojure Examples

PHP Examples

Books

Videos

Podcasts

Blogs

Blogs - Security

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.