GraphQL
Contents
- JavaScript/TypeScript
- Miscellaneous
- Go
- JavaScript Examples
- TypeScript Examples
- Python
- Python Examples
- Java
- Android
- Custom Scalars
- Java Examples
- Kotlin
- Kotlin Examples
- C/C++
- Go Examples
- Scala
- Scala Examples
- .NET
- Elixir
- Haskell
- SQL
- Lua
- Elm
- Clojure
- ClojureScript
- Swift
- OCaml
- iOS
- iOS Examples
- ReasonML
- Dart
- Rust
- D (dlang)
- R (Rstat)
- Julia
- Crystal
- Ballerina Samples
- Ballerina
Specifications
Implementations
JavaScript/TypeScript
A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
GraphQL Zeus creates autocomplete client library for JavaScript or TypeScript which provides autocompletion for strongly typed queries.
curl for GraphQL with autocomplete, subscriptions and GraphiQL. Also a dead-simple universal javascript GraphQL client.
A client library developed by Amazon for caching, analytics and more that includes a way to fetch GraphQL queries.
A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server.
A set of tools, helping you building efficient apps in a fast way with SvelteKit and GraphQL.
Minimal hooks-first GraphQL client with caching and server-side rendering support.
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.
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.
GraphQL Koa middleware that implements GraphQL.js from scratch and supports native ESM.
Fully-featured GraphQL Server with focus on easy setup, performance and great developer experience.
Write full-feature APIs with just functions. No more boilerplate code, no more setup. Just write functions and deploy.
Serverless runtime based on WebAssembly that delivers auto-generated GraphQL APIs.
Ably PubSub implementation for GraphQL to publish mutation updates and subscribe to the result through a subscription query.
A library of custom GraphQL Scalars for creating precise type-safe GraphQL schemas.
Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
Pothos is a plugin based GraphQL schema builder for typescript. It makes building graphql schemas in typescript easy, fast and enjoyable.
Garph is full-stack framework for building type-safe GraphQL APIs in TypeScript.
GQLoom is a GraphQL weaver for TypeScript/JavaScript that weaves GraphQL schema and resolvers using Valibot, Zod, or Yup.
Graphql Tools to Structure, Combine Resolvers and Merge Schema Definitions for Node.js, Next.Js and Graphql Apollo server
GraphQL query parser written entirely in TypeScript's type system for creating interfaces based on provided query
GraphQL document authoring library, inferring the result and variables types of GraphQL queries and fragments in the TypeScript type system.
Miscellaneous
Tool which allows you to construct flexible graphql schema from different data sources via plugins.
Separate GraphQL server into smaller, reusable parts by modules or features.
A library that helps creating a permission layer for a graphql api.
A GraphQL rate-limiting library with query complexity analysis for Node.js
A webpack loader to import type-protected codegen results directly from GraphQL documents
One configuration for all your GraphQL tools (supported by most tools, editors & IDEs).
A set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more).
use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL).
Framework and CLI to add a GraphQLCRUD API layer to a GraphQL server using data models.
A library to help construct a graphql-js server supporting react-relay.
Normalize GraphQL responses for persisting in the client cache/state.
An ESLint plugin that checks your GraphQL strings against a schema.
Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
Runs arbitrary queries matching a GraphQL schema to find server errors.
Allows using @constraint as a directive to validate input data. Inspired by Constraints Directives RFC and OpenAPI
The Open-Source GraphQL Federation Solution with Full Lifecycle API Management for (Federated) GraphQL. Schema Registry, composition checks, analytics, metrics, tracing and routing.
Go
A graphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2, Subscriptions & more.
A Go/Golang library to help construct a server supporting react-relay.
Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
JavaScript Examples
front-end starter kit using React, Relay, GraphQL, and JAM stack architecture.
Source code of the official F8 app of 2016, powered by React Native and other Facebook open source projects.
Usage Examples Apollo React for Github GraphQL API with create-react-app.
Fullstack Boilerplate GraphQL. Made with React & Prisma + authentication & roles.
TypeScript Examples
Yarn v2 based monorepo template (code-first GraphQL API, PostgreSQL, PnP, Zero-install, serverless).
Next.js starter project focused on developer experience.
A boilerplate for TypeScript + Node Express + Apollo GraphQL APIs.
An example of how to mock a managed federation Supgraph using Apollo Server 3.x
Barebones starter kit for Relay application with Rails GraphQL server.
A graphql, relay and standard rails application powered demo weblog.
A sample graphql/rails/relay application with a related 3-part article series.
Relay helpers for webonyx/graphql-php implementation of GraphQL.
A PHP package that allows to serve a GraphQL endpoint from your Laravel application.
This bundle provides tools to build a complete GraphQL server in your Symfony App. Supports react-relay.
Framework agnostic library that allows you to write GraphQL server by annotating your PHP classes.
Python
GraphQL implementation for Python based on GraphQL.js v16.3.0 reference implementation
A library to help construct a graphql-py server supporting react-relay.
An authentication library for Flask inspired from flask-jwt-extended.
Wrapper of Tartiflette to expose GraphQL API over HTTP based on aiohttp / 3.6+ / asyncio, official tutorial available on tartiflette.io.
Java
A GraphQL server framework for Spring Boot, developed by Netflix.
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.
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.
Provides annotations-based syntax for schema definition with GraphQL Java.
Schema-first graphql-java convenience library that makes it easy to bring your own implementations as data resolvers. Inspired by graphql-tools for JS.
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.
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.
A framework-agnostic java servlet for exposing graphql-java query endpoints with GET, POST, and multipart uploads.
Asynchronous GraphQL service discovery and querying for your microservices.
Port of Facebook DataLoader for efficient, asynchronous batching and caching in clustered GraphQL environments.
A lightweight, fast microservices framework with all cross-cutting concerns addressed and ready to plug in GraphQL schema.
A Java library that can expose a JPA annotated data model as a GraphQL service over any relational database.
GraphQL Orchestrator/Gateway library that supports Schema Stitching and Apollo Federation directives to combine schema from multiple GraphQL microservices into a single unified schema.
Provides extended validation of fields and field arguments for graphql-java.
Android
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.
Custom Scalars
Java Examples
An example GraphQL server written with Spring MVC and GraphQL-SPQR.
A simple application, both client and server, demonstrating the Manifold GraphQL library.
Samples for using the GraphQL Java Kickstart projects.
Kotlin
Kotlin Examples
C/C++
Go Examples
Scala
Scala Examples
.NET
Elixir
Haskell
SQL
Clojure
ClojureScript
iOS
ReasonML
Dart
Rust
High-performance server-side library that supports all GraphQL specifications.
GraphQL client library for Rust with WebAssembly (wasm) support.
R (Rstat)
Julia
Crystal
Ballerina Samples
Tools
Tools - Miscellaneous
Query and manipulate GraphQL introspection query results in useful ways.
GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes
A language service plugin complete and validate GraphQL query in TypeScript template strings.
GraphQL extension that enables you to easily get resolver-level performance information as part of a GraphQL response.
Get a full fake GraphQL API with zero coding in less than 30 seconds, based on a JSON data file.
Turn your database into a GraphQL API. Prisma lets you design your data model and have a production ready GraphQL API online in minutes.
Node.js ORM written in TypeScript for type lovers. Typetta is the perfect ORM for the GraphQL + NodeJS + Typescript stack.
Organize GraphQL API as components to be consumed with NPM or modified from any project, example-explanation).
Take any OpenAPI Specification (OAS) or swagger and create a GraphQL interface - Two minute video and resources here
An opinionated JavaScript library for automatically generating predictable, type safe DataLoaders over a set of resources (e.g. HTTP endpoints).
: alidate schema, get schema change notifications, validate operations, find breaking changes, look for similar types, schema coverage.
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.
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.
Tools - Editors & IDEs & Explorers
A beautiful feature-rich GraphQL Client for all platforms.
A unique, user-friendly data browser/viewer for any GraphQL service, with attractive result layouts.
Fast, open source API client, which stores collections offline-only in a Git-friendly plain text markup language.
Tools - Testing, Prototyping & Mocking
Tools - Security
The all-in-one automated penetration tester toolkit for GraphQL, written in Python
Blazing fast GraphQL endpoints finder using subdomain enumeration, scripts analysis and bruteforce.
Tools - Browser Extensions
Tools - Docs
Databases
Style Guides
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.