Skip to content

JerryMaoMao/awesome-graphql

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

awesome-graphql Awesome

Awesome list of GraphQL

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

Table of Contents

  • GraphQL - Working draft of the specification for GraphQL.
  • GraphQL over HTTP - Working draft of "GraphQL over HTTP" specification.
  • GraphQL Relay - Relay-compliant GraphQL server specification.
  • OpenCRUD - OpenCRUD is a GraphQL CRUD API specification for databases.
  • Apollo Federation - Apollo Federation specification
  • GraphQXL - GraphQXL is an extension of the GraphQL language with some additional features that help creating big and scalable server-side schemas.
  • GraphQL Scalars - hosts community defined custom Scalar specifications for use with @specifiedBy.
  • Discord - GraphQL - Official GraphQL.org discord channel.
  • GraphQL Weekly - A weekly newsletter highlighting resources and news from the GraphQL community.
  • Apollo GraphQL Community - Connect with other developers and share knowledge about every part of the Apollo GraphQL platform.
  • Discord - Reactiflux - Join #help-graphql on the Reactiflux Discord server.
  • 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.
  • /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.
  • Codever - Dev bookmarks. Use the tag graphql.
  • graphql-js - A reference implementation of GraphQL for JavaScript.
  • graphql-jit - GraphQL execution using a JIT compiler.

Clients

  • apollo-client - A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
  • graphql-request - A minimal GraphQL client for Node and browsers.
  • typescript-graphql-request - Use GraphQL Request as a fully typed SDK.
  • graphql-zeus - GraphQL Zeus creates autocomplete client library for JavaScript or TypeScript which provides autocompletion for strongly typed queries.
  • graphqurl - curl for GraphQL with autocomplete, subscriptions and GraphiQL. Also a dead-simple universal javascript GraphQL client.
  • aws-amplify - A client library developed by Amazon for caching, analytics and more that includes a way to fetch GraphQL queries.
Frontend Framework Integrations
  • vue-apollo - Apollo/GraphQL integration for VueJS.
  • apollo-angular - A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server.
  • svelte-apollo - Svelte integration for Apollo GraphQL.
  • ember-apollo-client - An ember-cli addon for Apollo Client and GraphQL.
  • apollo-elements - GraphQL web components that work in any frontend framework.
  • sveltekit-kitql - A set of tools, helping you building efficient apps in a fast way with SvelteKit and GraphQL.
React
  • react-apollo - The core @apollo/client library provides built-in integration with React.
  • relay - Relay is a JavaScript framework for building data-driven React applications.
  • urql - A simple caching GraphQL client for React.
  • graphql-hooks - Minimal hooks-first GraphQL client with caching and server-side rendering support.
  • gqless - A GraphQL client without queries ✨
  • mst-gql - Bindings for mobx-state-tree and GraphQL.
  • 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.

Servers

  • apollo-server - Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
  • express-graphql - GraphQL Express Middleware.
  • hapi-graphql - Create a GraphQL HTTP server with Hapi.
  • hapi-plugin-graphiql - HAPI plugin for GraphiQL integration.
  • graphql-api-koa - GraphQL Koa middleware that implements GraphQL.js from scratch and supports native ESM.
  • koa-graphql - GraphQL Koa Middleware.
  • graphql-koa-scripts - GraphQL Koa 1 file simplified. usefull for quick test
  • gql - Universal GraphQL HTTP middleware for Deno.
  • mercurius - GraphQL plugin for Fastify.
  • graphql-yoga - Fully-featured GraphQL Server with focus on easy setup, performance and great developer experience.
  • graphitejs - Framework NodeJS for GraphQL.
  • graphql-helix - A highly evolved GraphQL HTTP Server.
Databases & ORMs
PubSub
  • graphql-ably-pubsub - Ably PubSub implementation for GraphQL to publish mutation updates and subscribe to the result through a subscription query.

Custom Scalars

  • graphql-scalars - A library of custom GraphQL Scalars for creating precise type-safe GraphQL schemas.
  • graphql-tools-types - Custom GraphQL types for use with GraphQL-Tools (Void, Int, Float, String, Date, UUID, JSON).

Type

  • type-graphql - Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
  • graphql-nexus - Code-First, Type-Safe, GraphQL Schema Construction.
  • 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.
  • pothos - Pothos is a plugin based GraphQL schema builder for typescript. It makes building graphql schemas in typescript easy, fast and enjoyable.

Miscellaneous

  • graphql-tools - Tool library for building and maintaining GraphQL-JS servers.
  • graphql-tag - A JavaScript template literal tag that parses GraphQL queries.
  • 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.
  • graphql-shield - A library that helps creating a permission layer for a graphql api.
  • graphql-shield-generator - Emits a GraphQL Shield from your GraphQL schema.
  • graphqlgate - A GraphQL rate-limiting library with query complexity analysis for Node.js
  • 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-toolkit - A set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more).
  • graphql-mesh - use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL).
  • 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-middleware - Split up your GraphQL resolvers in middleware functions.
  • graphql-relay-js - A library to help construct a graphql-js server supporting react-relay.
  • graphql-normalizr - Normalize GraphQL responses for persisting in the client cache/state.
  • babel-plugin-graphql - Babel plugin that compile GraphQL tagged template strings.
  • eslint-plugin-graphql - An ESLint plugin that checks your GraphQL strings against a schema.
  • graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
  • graphql-live-query - Realtime GraphQL Live Queries with JavaScript.
  • GraphVinci - An interactive schema visualizer for GraphQL APIs.
  • supertest-graphql - Extends supertest to easily test a GraphQL endpoint
  • schemathesis - Runs arbitrary queries matching a GraphQL schema to find server errors.
  • microfiber - Query and manipulate GraphQL introspection query results in useful ways.
  • 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.
  • graphql-php - A PHP port of GraphQL reference implementation.
  • 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.
  • graphql-laravel - Laravel wrapper for Facebook's GraphQL.
  • overblog/graphql-bundle - This bundle provides tools to build a complete GraphQL server in your Symfony App. Supports react-relay.
  • wp-graphql - GraphQL API for WordPress.
  • 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.
  • graphql-request-builder - Builds request payload in GraphQL structure.
  • drupal/graphql - Craft and expose a GraphQL schema for Drupal 8+.
  • graphql-java - GraphQL Java implementation.
  • DGS Framework - A GraphQL server framework for Spring Boot, developed by Netflix.
  • graphql-java-generator - A Maven plugin and a Gradle plugin that can generate both the Client and the Server (POJOs and utility classes). The server part is based on graphql-java, and hides all its boilerplate codes.
  • gaphql-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.
  • graphql-java-tools - Schema-first graphql-java convenience library that makes it easy to bring your own implementations as data resolvers. Inspired by graphql-tools for JS.
  • graphql-java-codegen-maven-plugin - Schema-first maven plugin for generating Java types and Resolver interfaces. Works perfectly in conjunction with graphql-java-tools. Inspired by swagger-codegen-maven-plugin.
  • graphql-java-codegen-gradle-plugin - Schema-first gradle plugin for generating Java types and Resolver interfaces. Works perfectly in conjunction with graphql-java-tools. Inspired by gradle-swagger-generator-plugin.
  • graphql-java-servlet - A framework-agnostic java servlet for exposing graphql-java query endpoints with GET, POST, and multipart uploads.
  • manifold-graphql - Comprehensive GraphQL client use. Schema-first. Type-safe GraphQL types, queries, and results, no code generators, no POJOs, no annotations. Excellent IDE support with IntelliJ IDEA and Android Studio. See the Java example below.
  • spring-graphql-common - Spring Framework GraphQL Library.
  • graphql-spring-boot - GraphQL and GraphiQL Spring Framework Boot Starters.
  • 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.
  • graphql-spqr - Java 8+ API for rapid development of GraphQL services.
  • Light Java GraphQL: A lightweight, fast microservices framework with all cross-cutting concerns addressed and ready to plug in GraphQL schema.
  • Elide: A Java library that can expose a JPA annotated data model as a GraphQL service over any relational database.
  • federation-jvm - Apollo Federation on the JVM.
  • graphql-orchestrator-java GraphQL Orchestrator/Gateway library that supports Schema Stitching and Apollo Federation directives to combine schema from multiple GraphQL microservices into a single unified schema.
  • graphql-java-extended-validation - Provides extended validation of fields and field arguments for graphql-java.
  • dgs-extended-formatters - An experimental set of DGS Directives for common formatting use-cases.

Custom Scalars

  • graphql-kotlin - GraphQL Kotlin implementation.
  • manifold-graphql - Comprehensive GraphQL client use. Schema-first. Type-safe GraphQL types, queries, and results, no code generators, no POJOs, no annotations. Excellent IDE support with IntelliJ IDEA and Android Studio. See the Kotlin example below.
  • KGraphQL: Pure Kotlin implementation to setup a GraphQL server.
  • Kobby - Codegen plugin of Kotlin DSL Client by GraphQL schema. The generated DSL supports execution of complex GraphQL queries, mutation and subscriptions in Kotlin with syntax similar to native GraphQL syntax.
  • manifold-graphql sample - A simple GraphQL application, both client and server, demonstrating the Manifold GraphQL library with Kotlin.
  • libgraphqlparser - A GraphQL query parser in C++ with C and C++ APIs.
  • agoo-c - A high performance GraphQL server written in C. benchmarks
  • cppgraphqlgen - C++ GraphQL schema service generator.
  • CaffQL - Generates C++ client types and request/response serialization from a GraphQL introspection query.
  • 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.
  • graphql-relay-go - A Go/Golang library to help construct a server supporting react-relay.
  • graphjin: Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
  • sangria - Scala GraphQL server implementation.
  • sangria-relay - Sangria Relay Support.
  • caliban - Caliban is a purely functional library for creating GraphQL backends in Scala.
  • graphql-dotnet - GraphQL for .NET.
  • graphql-net - GraphQL to IQueryable for .NET.
  • Hot Chocolate - GraphQL server for .Net Core and .NET Framework.
  • Snowflaqe - Type-safe GraphQL code generator for F# and Fable
  • EntityGraphQL - library to build a GraphQL API on top of data model with the extensibility to bring multiple data sources together in the single GraphQL schema.
  • ZeroQL - type-safe GraphQL client with Linq-like interface for C#
  • 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
  • graphql-clj - A Clojure library designed to provide GraphQL implementation.
  • Lacinia - GraphQL implementation in pure Clojure.
  • graphql-query - Clojure(Script) GraphQL query generation.
  • GraphQL - The Swift implementation for GraphQL.
  • apollo-android - 📟 A strongly-typed, caching GraphQL client for Android, written in Java.
  • manifold-graphql - Comprehensive GraphQL client use. Schema-first. Type-safe GraphQL types, queries, and results, no code generators, no POJOs, no annotations. Excellent IDE support with IntelliJ IDEA and Android Studio. See the Java example below.
  • 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.
  • GQLite iOS SDK - GQLite iOS SDK is a toolkit to work with GraphQL servers easily.
  • re-graph - A GraphQL client for ClojureScript with bindings for re-frame applications.
  • graphql-query - Clojure(Script) GraphQL query generation.
  • reason-apollo - ReasonML binding for Apollo Client.
  • ReasonQL - Type-safe and simple GraphQL Client for ReasonML developers.
  • reason-urql - ReasonML binding for urql Client.
  • graphql-flutter - A GraphQL client for Flutter.
  • Artemis - A GraphQL type and query generator for Dart/Flutter.
  • 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.
  • graphqld - GraphQL server library for D.
  • 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.
  • Diana.jl - A Julia GraphQL client/server implementation.
  • GraphQLClient.jl - A Julia GraphQL client for seamless integration with a server.

Tools - Editors & IDEs & Explorers

  • GraphiQL - An in-browser IDE for exploring GraphQL.
  • GraphQL Editor - Visual Editor & GraphQL IDE.
  • GraphQL Voyager - Represent any GraphQL API as an interactive graph.
  • Altair GraphQL Client - A beautiful feature-rich GraphQL Client for all platforms.
  • Insomnia - A full-featured API client with first-party GraphQL query editor.
  • Postman - An HTTP Client that supports editing GraphQL queries.
  • Escape GraphMan - Generate a complete Postman collection from a GraphQL endpoint.
  • Apollo Sandbox - The quickest way to navigate and test your GraphQL endpoints.
  • GraphQL Birdseye – View any GraphQL schema as a dynamic and interactive graph.
  • AST Explorer - Select "GraphQL" at the top, explore the GraphQL AST and highlight different parts by clicking in the query.
  • Firecamp - GraphQL Playground - The fastest collaborative GraphQL playground.
  • CraftQL - A CLI tool to visualize GraphQL schemas and to output a graph data structure as a graphviz .dot format.
  • gqt - Build and execute GraphQL queries in the terminal.
  • Graph Proxy - Graph Proxy detects and displays all GraphQL network traffic.
  • Step CI - Open-Source API Testing and Monitoring with GraphQL support

Tools - Browser Extensions

Tools - Prototyping

  • GraphQL Faker - 🎲 Mock or extend your GraphQL API with faked data. No coding required.
  • GraphQL Designer - A developer's web-app tool to rapidly prototype a full stack CRUD implementation of GraphQL with React.

Tools - Docs

  • graphdoc - Static page generator for documenting GraphQL Schema.
  • gqldoc - The easiest way to make API documents for GraphQL.
  • spectaql - Autogenerate static GraphQL API documentation.
  • graphql-markdown - Flexible documentation for GraphQL powered with Docusaurus.

Tools - Editor Plugins

  • Apollo GraphQL VSCode Extension - Rich editor support for GraphQL client and server development that seamlessly integrates with the Apollo platform
  • js-graphql-intellij-plugin - GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript.
  • vim-graphql - A Vim plugin that provides GraphQL file detection and syntax highlighting.
  • Apollo Workbench - Tooling to help you develop and mock federated schemas using Apollo Federation.
  • graphql-autocomplete - Autocomplete and lint from a GraphQL endpoint in Atom.

Tools - Miscellaneous

  • graphql-code-generator - GraphQL code generator based on schema and documents.
  • swagger-to-graphql - GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes
  • 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.
  • json-graphql-server - Get a full fake GraphQL API with zero coding in less than 30 seconds, based on a JSON data file.
  • 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.
  • Typetta - Node.js ORM written in TypeScript for type lovers. Typetta is the perfect ORM for the GraphQL + NodeJS + Typescript stack.
  • 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-explanation).
  • openapi-to-graphql - Take any OpenAPI Specification (OAS) or swagger and create a GraphQL interface - Two minute video and resources here
  • Retool – Internal tools builder on top of your GraphQL APIs + GraphQL IDE with a schema explorer.
  • dataloader-codegen - An opinionated JavaScript library for automatically generating predictable, type safe DataLoaders over a set of resources (e.g. HTTP endpoints).
  • raphql-inspector: alidate schema, get schema change notifications, validate operations, find breaking changes, look for similar types, schema coverage.
  • amplication: Amplication is an open‑source low code development tool. It builds database applications with REST API and GraphQL for CRUD with relations, sorting, filtering, pagination.
  • Blendbase: Single open-source GraphQL API to connect CRMs to your SaaS. Query any customer CRM system (Salesforce, Hubspot and more) with a single API query from your SaaS app.
  • microfiber - Query and manipulate GraphQL introspection query results in useful ways.
  • ILLA Cloud – Open-source low-code tool building platform provides an easy way to integrate with GraphQL with minimal configurations
  • AWS AppSync - Scalable managed GraphQL service with subscriptions for building real-time and offline-first apps
  • 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.
  • Nhost - Open source Firebase alternative with GraphQL
  • Saleor - GraphQL-first headless e-commerce platform.
  • Stargate - Open source data gateway currently supporting Apache Cassandra® and DataStax Enterprise.

CDN

  • GraphCDN - GraphQL CDN for caching GraphQL APIs.

CMS

  • DatoCMS - CDN-based GraphQL based Headless Content Management System.
  • Apito - A Cloud Based Headless CMS with CDN, Webhooks, Team Collaborations, Content Revision, Cloud Functions.
  • GraphCMS - GraphQL based Headless Content Management System.
  • Cosmic - GraphQL-powered Headless CMS and API toolkit.
  • Shopify GraphQL Design Tutorial - This tutorial was originally created by Shopify for internal purposes. It's based on lessons learned from creating and evolving production schemas at Shopify over almost 3 years.
  • GitLab GraphQL API Style Guide - This document outlines the style guide for the GitLab GraphQL API.
  • Yelp GraphQL Guidelines - This repo contains documentation and guidelines for a standardized and mostly reasonable approach to GraphQL (at Yelp).
  • Principled GraphQL - Apollo's 10 GraphQL Principles, broken out into three categories, in a format inspired by the Twelve Factor App.
  • How to GraphQL - Fullstack Tutorial Website with Tracks for all Major Frameworks & Languages including React, Apollo, Relay, JavaScript, Ruby, Java, Elixir and many more.
  • Apollo Odyssey - Apollo's free interactive learning platform.
  • learning-graphql - An attempt to learn GraphQL.
  • GraphQL Roadmap - Step by step guide to learn GraphQL.

License

CC0

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

About

Awesome list of GraphQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published