awesome-graphql
Awesome list of GraphQL
https://github.com/chentsulin/awesome-graphql
Last synced: 1 day ago
JSON representation
-
Blogs
-
Blogs - Security
- Escape - The GraphQL Security Blog - Learn about GraphQL security, performance, testing and building production-ready APIs with the latest tools and best practices of the GraphQL ecosystem.
-
CMS
- Official GraphQL blog - News and technical articles from the GraphQL project.
- The Guild blog - Articles from The Guild about GraphQL tools and practices.
- Production Ready GraphQL blog - Guidance for designing and operating production GraphQL systems.
- Building Apollo - Product updates and engineering articles from Apollo GraphQL.
-
-
Books
-
CMS
- The Road to GraphQL - Full-stack GraphQL tutorial and learning resource.
- Practical GraphQL - Practical guide to implementing GraphQL applications.
- Full Stack GraphQL Applications - Complete guide to full-stack GraphQL development.
- The GraphQL Guide - Comprehensive GraphQL learning guide.
- Craft GraphQL APIs in Elixir with Absinthe - Guide to building GraphQL APIs in Elixir.
- Production Ready GraphQL - Best practices for production GraphQL systems.
-
-
Communities
-
Posts
- 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.
- Stack Overflow - Questions and answers using the tag `graphql`.
- X - Use the hashtag `#graphql`.
- /r/GraphQL - A subreddit for GraphQL news, resources, and discussions.
- GraphQL APIs - A collective list of public GraphQL APIs.
- Discord - Reactiflux - Join `#help-graphql` on the Reactiflux Discord server.
-
-
Databases & Data Platforms
-
Tools - Performance & Query Utilities
- ArangoDB - Native multi-model database with GraphQL support through Foxx microservices.
- Dgraph - Scalable, distributed, low-latency, high-throughput graph database with GraphQL as the query language.
- Cube - Open-source semantic layer for AI, BI, and embedded analytics with GraphQL, SQL, and REST APIs.
- Weaviate - Open-source vector database combining vector search, structured filtering, and a GraphQL interface.
-
-
Federation & Schema Composition
-
Examples
- Mocked Managed Federation - Apollo Server 3 - Example of mocking a managed federation subgraph using Apollo Server 3.x.
- Mocked Managed Federation - Apollo Server 4 - Example of mocking a managed federation subgraph using Apollo Server 4.x.
- graphql-java-kickstart-federation-example - A GraphQL Java Kickstart federation example.
- dgs-federation-example - A Netflix DGS federation example.
-
Implementations & Platforms
- WunderGraph Cosmo - Open source GraphQL federation solution with schema registry, composition checks, analytics, metrics, tracing, and routing.
- federation-jvm - Apollo Federation on the JVM.
- graphql-orchestrator-java - Orchestrator and gateway library that combines schemas from multiple GraphQL microservices using schema stitching and Apollo Federation directives.
- graphql-mesh - A GraphQL federation framework for unifying GraphQL, REST, OpenAPI, SOAP, gRPC, and other API services.
-
Posts
- GraphQL federation example with Apollo Federation and Apollo GraphOS - Tutorial for federating services with Apollo Federation, GraphOS, and Cube.
- GraphQL federation with Hasura GraphQL Engine and Cube - Tutorial for federating Hasura and Cube GraphQL APIs.
-
Specification
- GraphQL Federation - Prerelease working draft for composing independently developed GraphQL schemas into a unified graph.
- Apollo Federation - Apollo's specification for composing subgraphs into a federated supergraph.
- Apollo Join - Specification for describing subgraphs and field resolution in a supergraph schema.
-
-
Implementations
-
Android
- apollo-frontpage-android-app - 📄 Apollo "hello world" app, for Android.
- apollo-kotlin - A strongly typed, caching GraphQL client for the JVM, Android, and Kotlin Multiplatform.
-
Ballerina
- Ballerina GraphQL Examples - Sample implementations of GraphQL services in Ballerina.
- GraphQL - Standard Ballerina library providing GraphQL client and server implementations with built-in subscription support.
- GraphQL CLI - A CLI tool to generate Ballerina code from GraphQL schema and GraphQL schema from Ballerina code. It also provides functionality to generate usage-specific GraphQL clients using GraphQL schemas and documents.
- Convert Weather REST API to GraphQL API - Example demonstrating REST API conversion to GraphQL.
-
C/C++
- libgraphqlparser - A GraphQL query parser in C++ with C and C++ APIs.
- agoo-c - High-performance GraphQL server written in C with published benchmarks.
- cppgraphqlgen - C++ GraphQL schema service generator.
- CaffQL - Generates C++ client types and request/response serialization from a GraphQL introspection query.
-
Clojure
- graphql-clj - A Clojure library designed to provide GraphQL implementation.
- Lacinia - GraphQL implementation in pure Clojure.
- graphql-query - Clojure(Script) GraphQL query generation.
- Clojure Game Geek - Example code for the Lacinia GraphQL framework tutorial.
-
ClojureScript
- re-graph - A GraphQL client for ClojureScript with bindings for re-frame applications.
-
Crystal
- GraphQL - Server library for Crystal.
- graphql-crystal - Library inspired by graphql-ruby, go-graphql, and graphql-parser.
- crystal-gql - GraphQL client shard inspired by Apollo client.
- graphql.cr - GraphQL shard.
-
Dart
- Artemis - A GraphQL type and query generator for Dart/Flutter.
- graphql-flutter - A GraphQL client for Flutter.
-
D (dlang)
- graphqld - GraphQL server library for D.
-
Elixir
- absinthe-graphql - Fully Featured Elixir GraphQL Library.
- graphql-elixir - GraphQL Elixir. (No longer maintained)
- plug_graphql - Plug integration for GraphQL Elixir.
- graphql_relay - Relay helpers for GraphQL Elixir.
- graphql_parser - Elixir bindings for libgraphqlparser.
- GraphQL - Elixir GraphQL parser.
- plot - GraphQL parser and resolver for Elixir.
- hello_graphql_phoenix - Examples of GraphQL Elixir Plug endpoints mounted in Phoenix.
-
Elm
- elm-graphql - GraphQL for Elm.
-
Go
- Go Backend Tutorial - A tutorial showing how to make a Go GraphQL server and client using code generation.
- graphql-go-tools - GraphQL router and API gateway framework written in Go, focused on correctness, extensibility, and performance.
- GraphQL - Implementation of GraphQL for Go that follows graphql-js.
- graphql-go - GraphQL server with a focus on ease of use.
- gql - Code-first schema builder based on the reference Go implementation.
- gqlgen - Go generate-based GraphQL server library.
- graphql-relay-go - A Go/Golang library to help construct a server supporting react-relay.
- graphjin - Instant GraphQL-to-SQL compiler for building APIs quickly.
- grpc-graphql-gateway - Protoc plugin that generates GraphQL execution code from Protocol Buffers.
- golang-relay-starter-kit - Barebones starting point for a Relay application with Golang GraphQL server.
- todomvc-relay-go - Port of the React/Relay TodoMVC app, driven by a Golang GraphQL backend.
- go-graphql-subscription-example - A GraphQL schema and server that demonstrates GraphQL [subscriptions](https://github.com/apollographql/subscriptions-transport-ws/blob/v0.9.4/PROTOCOL.md) over WebSocket to consume [Apache Kafka](https://kafka.apache.org/) messages.
- Thunder - Scalable microservices framework powered by Go, gRPC-Gateway, Prisma, and Kubernetes that exposes REST, gRPC, and GraphQL.
-
Haskell
- graphql-haskell - GraphQL AST and parser for Haskell.
- morpheus-graphql - Haskell GraphQL Api, Client and Tools.
-
iOS
- apollo-ios - 📱 A strongly-typed, caching GraphQL client for iOS, written in Swift.
- ApolloDeveloperKit - Apollo Client developer tools bridge for Apollo iOS.
- Graphaello - Type Safe GraphQL directly from SwiftUI.
- frontpage-ios-app - 📄 Apollo "hello world" app, for iOS.
-
Java
- graphql-java-generator - Maven and Gradle plugins that generate both the **client** and the **server** (POJOs and utility classes). The server part is based on graphql-java and hides its boilerplate code.
- manifold-graphql - Comprehensive schema-first GraphQL client with type-safe types, queries, and results, no code generators, no POJOs, and no annotations. Includes IDE support for IntelliJ IDEA and Android Studio. See the [Java example](#java-examples) below.
- light-java-graphql examples - Examples of Light Java GraphQL and tutorials.
- Spring Boot backend tutorial - A tutorial creating a GraphQL server and client using Spring Boot and Netflix DGS.
- graphql-java - GraphQL Java implementation.
- DGS Framework - A GraphQL server framework for Spring Boot, developed by Netflix.
- gaphql-java-type-generator - Automatically 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 with graphql-java-tools and was inspired by swagger-codegen-maven-plugin.
- graphql-java-codegen-gradle-plugin - Schema-first Gradle plugin for generating Java types and resolver interfaces. Works with graphql-java-tools and was 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.
- 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 - Lightweight, fast microservices framework with cross-cutting concerns addressed and support for GraphQL schemas.
- 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.
- graphql-java-extended-scalars - Extended scalars for graphql-java.
- graphql-spqr-samples - An example GraphQL server written with Spring MVC and GraphQL-SPQR.
- manifold-graphql sample - A simple application, both client and server, demonstrating the Manifold GraphQL library.
- graphql-java-kickstart_samples - Samples for using the GraphQL Java Kickstart projects.
- java-dataloader - DataLoader implementation that provides batching and caching to avoid N+1 data-fetching problems.
- Spring for GraphQL - Official Spring integration for applications built on GraphQL Java.
- MicroProfile GraphQL - Specification for developing portable, code-first GraphQL services with Enterprise Java.
- SmallRye GraphQL - Implementation of MicroProfile GraphQL with server, client, and tooling support.
- Micronaut GraphQL - Official Micronaut integration for building GraphQL Java servers.
- Vert.x Web GraphQL - Official GraphQL Java integration for Vert.x Web.
- spring-graphql-common - Spring Framework GraphQL Library.
- Elide - Java library that exposes a JPA-annotated data model as a GraphQL service over a relational database.
- GraphQL JPA Query - Generates GraphQL query APIs from JPA entity models.
- graphql-java-datetime - GraphQL ISO Date is a set of RFC 3339 compliant date/time scalar types to be used with graphql-java.
- Spring for GraphQL reference - Official reference documentation for building GraphQL services with Spring.
-
JavaScript/TypeScript
- Validator.js Wrapper Directive - Wraps Validator.js functionality in validation directives.
- Next.js TypeScript and GraphQL Example - Type-protected GraphQL example on Next.js running graphql-codegen under the hood.
- graphql-js - A reference implementation of GraphQL for JavaScript.
- graphql-jit - GraphQL execution using a JIT compiler.
- apollo-client - A production-ready GraphQL client for TypeScript and JavaScript with caching, framework integrations, and developer tools.
- graphql-zeus - Generates type-safe JavaScript and TypeScript GraphQL clients with autocomplete.
- graphqurl - Curl for GraphQL with autocomplete, subscriptions, and GraphiQL, plus a universal JavaScript GraphQL client.
- aws-amplify - A JavaScript library for building applications with AWS cloud services, including GraphQL APIs through AWS AppSync.
- gqty - No-query-language GraphQL client for TypeScript.
- genql - Type safe TypeScript client for any GraphQL API.
- 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 collection of tools for building SvelteKit applications with GraphQL.
- relay - JavaScript framework for building data-driven React applications.
- graphql-hooks - Minimal hooks-first GraphQL client with caching and server-side rendering support.
- mst-gql - Bindings for mobx-state-tree and GraphQL.
- micro-graphql-react - A lightweight React GraphQL client with simple caching and support for service-worker caching through GET requests.
- apollo-server - A spec-compliant, production-ready JavaScript GraphQL server for schema-first development with standalone and web framework integrations.
- 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.
- graphql-koa-scripts - GraphQL Koa 1 file simplified. Useful for quick test.
- gql - Universal GraphQL HTTP middleware for Deno.
- mercurius - GraphQL plugin for Fastify.
- graphitejs - Node.js framework for GraphQL.
- pylon - Write full-feature APIs with just functions. No more boilerplate code, no more setup. Just write functions and deploy.
- graphql-sequelize - Sequelize helpers for GraphQL.
- graphql-bookshelf - Some help defining GraphQL schema around BookshelfJS models.
- graphql-nexus - Code-First, Type-Safe, GraphQL Schema Construction.
- graphql-code-generator - GraphQL code generator with flexible support for custom plugins and templates such as TypeScript, React Hooks, and resolver signatures.
- pothos - Plugin-based GraphQL schema builder for TypeScript.
- garph - Full-stack framework for building type-safe GraphQL APIs in TypeScript.
- graphql-to-type - GraphQL query parser written entirely in TypeScript's type system for creating interfaces from a provided query.
- gql.tada - GraphQL document authoring library, inferring the result and variables types of GraphQL queries and fragments in the TypeScript type system.
- graphql-tag - A JavaScript template literal tag that parses GraphQL queries.
- load-gql - A tiny, zero dependency GraphQL schema loader from files and folders.
- graphql-compose - Tool for constructing flexible GraphQL schemas from different data sources via plugins.
- graphql-shield - Library for creating a permission layer for a GraphQL API.
- graphql-shield-generator - Emits a GraphQL Shield from your GraphQL schema.
- graphqlgate - GraphQL rate-limiting library with query complexity analysis for Node.js.
- graphql-let - Webpack loader for importing type-protected code generation results directly from GraphQL documents.
- 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).
- 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 compiles 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.
- microfiber - Query and manipulate GraphQL introspection query results in useful ways.
- GraphQL Constraint Directive - Allows `@constraint` directives to validate input data, inspired by the Constraints Directives RFC and OpenAPI.
- React Starter Kit - Frontend starter kit using React, Relay, GraphQL, and JAMstack architecture.
- SWAPI GraphQL Wrapper - A GraphQL schema and server wrapping SWAPI.
- Relay TodoMVC - TodoMVC example with Relay and routing.
- F8 App 2017 - Source code for the official 2017 F8 app, built with React Native, Relay, and GraphQL.
- Apollo React example for GitHub GraphQL API - Example using Apollo React with the GitHub GraphQL API and Create React App.
- graphql-sunset - Quickly and easily add support for the `Sunset` header to your GraphQL server, to better communicate upcoming breaking changes.
- gqloom - GraphQL weaver for TypeScript/JavaScript that weaves GraphQL schema and resolvers using Valibot, Zod, or Yup.
- RAN Toolkit - Production-ready toolkit/boilerplate with support for GraphQL, SSR, Hot-reload, CSS-in-JS, caching, and more.
- GraphQL Starter - A boilerplate for TypeScript + Node Express + Apollo GraphQL APIs.
- graphql-ably-pubsub - Ably PubSub implementation for GraphQL to publish mutation updates and subscribe to the result through a subscription query.
- VulcanJS - Full-stack React and GraphQL framework.
- react-apollo - The core @apollo/client library provides built-in integration with React.
- Next.js Advanced GraphQL CRUD MongoDB Starter - Generic CRUD starter with an advanced Apollo GraphQL server, Next.js, MongoDB, and TypeScript.
- Gra**fast** - A cutting edge planning and execution engine for GraphQL.
- GraphQL StackBlitz Starter - Live, editable demo that starts in a browser in about two seconds.
- Graffle - A minimal, extensible, type-safe GraphQL client for JavaScript and TypeScript runtimes.
- zodql - Type-safe GraphQL client that uses Zod schemas as the single source of truth to build queries, infer response types, and validate responses at runtime.
- vue-apollo - Apollo Client integration for Vue.js.
- apollo-angular - Apollo Client integration for Angular with declarative data fetching and caching.
- urql - A customizable GraphQL client with framework bindings and extensible caching.
- koa-graphql - GraphQL Koa Middleware.
- graphql-yoga - A fully featured GraphQL server built on the WHATWG Fetch API for deployment in any JavaScript environment.
- graphql-helix - A highly evolved GraphQL HTTP Server.
- Booster framework - Open-source serverless framework that generates GraphQL queries, mutations, and subscriptions from application models.
- join-monster - A GraphQL-to-SQL query execution layer for batch data fetching.
- Simfinity.js - Generates GraphQL queries, mutations, relationships, and MongoDB or PostgreSQL storage from GraphQL object types.
-
Programming Languages
Categories
Sub Categories
JavaScript/TypeScript
89
CMS
46
Java
35
Posts - General
23
Python
22
Tools - Security
14
Posts
13
Go
13
PHP
12
Ruby
12
Tools - Testing, Prototyping & Mocking
11
Posts - Security
11
Tools - IDEs & Schema Explorers
10
Elixir
8
Tools - Developer Extensions
8
Tools - API Clients & Workbenches
8
.NET
7
Tools - Docs
6
Tools - Performance & Query Utilities
6
Scala
5
Kotlin
5
Rust
5
iOS
4
GraphQL Platforms & Backends
4
Tools - API Integration & Transformation
4
Tools - Data Access & ORMs
4
Examples
4
SQL
4
Implementations & Platforms
4
Clojure
4
Ballerina
4
Tools - Low-Code & App Builders
4
Crystal
4
C/C++
4
ReasonML
3
Data APIs & Gateways
3
Specification
3
R (Rstat)
3
Julia
2
Haskell
2
Dart
2
Commerce
2
Android
2
API Management, Delivery & Observability
2
Blogs - Security
1
Elm
1
Lua
1
ClojureScript
1
Swift
1
OCaml
1
D (dlang)
1
Keywords
graphql
188
typescript
27
graphql-server
26
nodejs
22
api
22
graphql-client
21
schema
15
graphql-schema
15
apollo
14
javascript
14
python
13
relay
12
graphql-java
11
graphql-api
10
java
9
react
9
apollographql
8
client
7
postgresql
7
codegen
7
kotlin
7
graphql-js
7
rust
7
boilerplate
6
cli
6
graphene
6
golang
6
swagger
6
the-guild
6
graphql-tools
5
php
5
apollo-server
5
dataloader
5
openapi
5
prisma
5
web
5
graphiql
5
grpc
5
apollo-client
5
mongodb
5
server
5
security
4
rest-api
4
graphql-subscriptions
4
csharp
4
dotnet
4
graphql-security
4
resolvers
4
postgres
4
gateway
4