├── .github ├── CODEOWNERS ├── pull_request_template.md └── workflows │ └── awesome_bot.yml ├── .gitignore ├── CONTRIBUTING.md └── README.md /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | - @chentsulin 2 | - @setchy 3 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | **[URL to the resource here.]** 2 | 3 | **[Explain what this resource is all about and why it should be included here.]** 4 | -------------------------------------------------------------------------------- /.github/workflows/awesome_bot.yml: -------------------------------------------------------------------------------- 1 | name: Awesome Bot 2 | 3 | on: 4 | push: 5 | branches: ["*"] 6 | pull_request: 7 | branches: ["*"] 8 | schedule: 9 | - cron: "0 0 * * 0" # Runs every Sunday at midnight UTC. You can customize the schedule using cron syntax. 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v4 16 | - name: Set up Ruby 3.3 17 | uses: ruby/setup-ruby@v1 18 | with: 19 | ruby-version: 3.3 20 | - name: Checks 21 | run: | 22 | gem install awesome_bot 23 | awesome_bot README.md --allow-ssl --allow-dupe --allow-redirect --allow 429 --white-list x.com,stackoverflow.com,reddit.com,drupal.org 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please ensure your pull request adheres to the following guidelines: 4 | 5 | - Read [the awesome manifesto](https://github.com/sindresorhus/awesome/blob/master/awesome.md) and ensure your list complies. 6 | - Search previous suggestions before making a new one, as yours may be a duplicate. 7 | - Make sure your list is useful before submitting. That implies it having enough content and every item a good succinct description. 8 | - A link back to this list from yours, so users can discover more lists, would be appreciated. 9 | - Make an individual pull request for each suggestion. 10 | - Titles should be [capitalized](http://grammar.yourdictionary.com/capitalization/rules-for-capitalization-in-titles.html). 11 | - Use the following format: `[List Name](link)` 12 | - Link additions should be added to the bottom of the relevant category. 13 | - New categories or improvements to the existing categorization are welcome. 14 | - Check your spelling and grammar. 15 | - Make sure your text editor is set to remove trailing whitespace. 16 | - The pull request and commit should have a useful title. 17 | 18 | Thank you for your suggestions! 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # awesome-graphql [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/chentsulin/awesome-graphql/awesome_bot.yml?logo=githubactions&label=Awesome%20Bot) 2 | 3 | > Awesome list of GraphQL 4 | 5 | If you want to contribute to this list (please do), send me a pull request. 6 | 7 | ## Table of Contents 8 | 9 | 10 | 11 | - [awesome-graphql ](#awesome-graphql--) 12 | - [Table of Contents](#table-of-contents) 13 | - [Specifications](#specifications) 14 | - [Foundations](#foundations) 15 | - [Communities](#communities) 16 | - [Meetups](#meetups) 17 | - [Implementations](#implementations) 18 | - [JavaScript/TypeScript](#javascripttypescript) 19 | - [Clients](#clients) 20 | - [Frontend Framework Integrations](#frontend-framework-integrations) 21 | - [React](#react) 22 | - [Servers](#servers) 23 | - [Databases \& ORMs](#databases--orms) 24 | - [PubSub](#pubsub) 25 | - [Custom Scalars](#custom-scalars) 26 | - [Type](#type) 27 | - [Miscellaneous](#miscellaneous) 28 | - [JavaScript Examples](#javascript-examples) 29 | - [TypeScript Examples](#typescript-examples) 30 | - [Ruby](#ruby) 31 | - [Ruby Examples](#ruby-examples) 32 | - [PHP](#php) 33 | - [PHP Examples](#php-examples) 34 | - [Python](#python) 35 | - [Python Examples](#python-examples) 36 | - [Java](#java) 37 | - [Custom Scalars](#custom-scalars-1) 38 | - [Java Examples](#java-examples) 39 | - [Kotlin](#kotlin) 40 | - [Kotlin Examples](#kotlin-examples) 41 | - [C/C++](#cc) 42 | - [Go](#go) 43 | - [Go Examples](#go-examples) 44 | - [Scala](#scala) 45 | - [Scala Examples](#scala-examples) 46 | - [.NET](#net) 47 | - [.NET Examples](#net-examples) 48 | - [Elixir](#elixir) 49 | - [Elixir Examples](#elixir-examples) 50 | - [Haskell](#haskell) 51 | - [SQL](#sql) 52 | - [Lua](#lua) 53 | - [Elm](#elm) 54 | - [Clojure](#clojure) 55 | - [Clojure Examples](#clojure-examples) 56 | - [Swift](#swift) 57 | - [OCaml](#ocaml) 58 | - [Android](#android) 59 | - [Android Examples](#android-examples) 60 | - [iOS](#ios) 61 | - [iOS Examples](#ios-examples) 62 | - [ClojureScript](#clojurescript) 63 | - [ReasonML](#reasonml) 64 | - [Dart](#dart) 65 | - [Rust](#rust) 66 | - [Rust Examples](#rust-examples) 67 | - [D (dlang)](#d-dlang) 68 | - [R (Rstat)](#r-rstat) 69 | - [Julia](#julia) 70 | - [Crystal](#crystal) 71 | - [Ballerina](#ballerina) 72 | - [Ballerina Samples](#ballerina-samples) 73 | - [Tools](#tools) 74 | - [Tools - Editors \& IDEs \& Explorers](#tools---editors--ides--explorers) 75 | - [Tools - Testing](#tools---testing) 76 | - [Tools - Security](#tools---security) 77 | - [Tools - Browser Extensions](#tools---browser-extensions) 78 | - [Tools - Prototyping](#tools---prototyping) 79 | - [Tools - Docs](#tools---docs) 80 | - [Tools - Editor Plugins](#tools---editor-plugins) 81 | - [Tools - Miscellaneous](#tools---miscellaneous) 82 | - [Databases](#databases) 83 | - [Services](#services) 84 | - [CDN](#cdn) 85 | - [CMS](#cms) 86 | - [Books](#books) 87 | - [Videos](#videos) 88 | - [Podcasts](#podcasts) 89 | - [Style Guides](#style-guides) 90 | - [Blogs](#blogs) 91 | - [Blogs - Security](#blogs---security) 92 | - [Posts](#posts) 93 | - [Tutorials](#tutorials) 94 | - [License](#license) 95 | 96 | 97 | 98 | 99 | 100 | ## Specifications 101 | 102 | - [GraphQL](https://github.com/graphql/graphql-spec) - Working draft of the specification for GraphQL. 103 | - [GraphQL over HTTP](https://github.com/graphql/graphql-over-http) - Working draft of "GraphQL over HTTP" specification. 104 | - [GraphQL Relay](https://relay.dev/docs/guides/graphql-server-specification/) - Relay-compliant GraphQL server specification. 105 | - [OpenCRUD](https://github.com/opencrud/opencrud) - OpenCRUD is a GraphQL CRUD API specification for databases. 106 | - [Apollo Federation](https://www.apollographql.com/docs/federation/federation-spec/) - Apollo Federation specification 107 | - [GraphQXL](https://gabotechs.github.io/graphqxl/) - GraphQXL is an extension of the GraphQL language with some additional features that help creating big and scalable server-side schemas. 108 | - [GraphQL Scalars](https://www.graphql-scalars.com/) - hosts community defined custom Scalar specifications for use with @specifiedBy. 109 | 110 | 111 | 112 | ## Foundations 113 | 114 | - [GraphQL Foundation](https://graphql.org/foundation/) - GraphQL Foundation under the Linux Foundation 115 | 116 | 117 | 118 | ## Communities 119 | 120 | - [Discord - GraphQL](https://discord.graphql.org/) - Official GraphQL.org discord channel. 121 | - [GraphQL Weekly](https://www.graphqlweekly.com/) - A weekly newsletter highlighting resources and news from the GraphQL community. 122 | - [Apollo GraphQL Community](https://community.apollographql.com/) - Connect with other developers and share knowledge about every part of the Apollo GraphQL platform. 123 | - [Discord - Reactiflux](http://join.reactiflux.com/) - Join `#help-graphql` on the Reactiflux Discord server. 124 | - [Facebook](https://www.facebook.com/groups/795330550572866/) - Group for discussions, articles and knowledge sharing. 125 | - [X](https://x.com/search?q=%23GraphQL) - Use the hashtag `#graphql`. 126 | - [StackOverflow](https://stackoverflow.com/questions/tagged/graphql) - Questions and answers. Use the tag `graphql`. 127 | - [GraphQL APIs](https://github.com/APIs-guru/graphql-apis) - A collective list of public GraphQL APIs. 128 | - [/r/GraphQL](https://www.reddit.com/r/graphql/) - A Subreddit for interesting and informative GraphQL content and discussions. 129 | 130 | 131 | 132 | ## Meetups 133 | 134 | - [Relay Meetup](https://relaymeetup.com/) - A global, online meetup on Relay, the GraphQL client. 135 | - [Amsterdam](https://www.meetup.com/Amsterdam-GraphQL-Meetup/) 136 | - [Bangalore](https://www.meetup.com/graphql-bangalore/) 137 | - [Berlin](https://www.meetup.com/graphql-berlin/) 138 | - [Buenos Aires](https://www.meetup.com/es-ES/GraphQL-BA/) 139 | - [Copenhagen](https://www.meetup.com/Copenhagen-GraphQL-Meetup-Group/) 140 | - [Dallas-Fort Worth](https://www.meetup.com/DFW-GraphQL-Meetup/) 141 | - [Hamburg](https://www.meetup.com/GraphQL-Hamburg/) 142 | - [London](https://www.meetup.com/GraphQL-London/) 143 | - [Melbourne](https://www.meetup.com/GraphQL-Melbourne/) 144 | - [Munich](https://www.meetup.com/GraphQL-Munich/) 145 | - [New York City](https://www.meetup.com/GraphQL-NYC/) 146 | - [San Francisco](https://www.meetup.com/GraphQL-SF/) 147 | - [Seattle](https://www.meetup.com/Seattle-GraphQL/) 148 | - [Sydney](https://www.meetup.com/GraphQL-Sydney/) 149 | - [Tel Aviv](https://www.meetup.com/GraphQL-TLV/) 150 | - [Wrocław](https://www.meetup.com/GraphQL-Wroclaw/) 151 | - [Singapore](https://www.meetup.com/GraphQL-SG/) 152 | - [Zurich](https://www.meetup.com/GraphQL-Zurich/) 153 | 154 | 155 | 156 | ## Implementations 157 | 158 | 159 | 160 | ### JavaScript/TypeScript 161 | 162 | - [graphql-js](https://github.com/graphql/graphql-js) - A reference implementation of GraphQL for JavaScript. 163 | - [graphql-jit](https://github.com/zalando-incubator/graphql-jit) - GraphQL execution using a JIT compiler. 164 | 165 | #### Clients 166 | 167 | - [apollo-client](https://github.com/apollographql/apollo-client) - A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server. 168 | - [graphql-request](https://github.com/prisma-labs/graphql-request) - A minimal GraphQL client for Node and browsers. 169 | - [typescript-graphql-request](https://graphql-code-generator.com/docs/plugins/typescript-graphql-request) - Use GraphQL Request as a fully typed SDK. 170 | - [graphql-zeus](https://github.com/graphql-editor/graphql-zeus) - GraphQL Zeus creates autocomplete client library for `JavaScript` or `TypeScript` which provides autocompletion for strongly typed queries. 171 | - [graphqurl](https://github.com/hasura/graphqurl) - curl for GraphQL with autocomplete, subscriptions and GraphiQL. Also a dead-simple universal javascript GraphQL client. 172 | - [aws-amplify](https://github.com/aws-amplify/amplify-js) - A client library developed by Amazon for caching, analytics and more that includes a way to fetch GraphQL queries. 173 | - [gqty](https://github.com/gqty-dev/gqty) - A No GraphQL client for TypeScript 174 | - [genql](https://github.com/remorses/genql) - Type safe TypeScript client for any GraphQL API. 175 | 176 | ##### Frontend Framework Integrations 177 | 178 | - [vue-apollo](https://github.com/vuejs/vue-apollo) - Apollo/GraphQL integration for VueJS. 179 | - [apollo-angular](https://github.com/kamilkisiela/apollo-angular) - A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server. 180 | - [svelte-apollo](https://github.com/timhall/svelte-apollo) - Svelte integration for Apollo GraphQL. 181 | - [ember-apollo-client](https://github.com/ember-graphql/ember-apollo-client) - An ember-cli addon for Apollo Client and GraphQL. 182 | - [apollo-elements](https://github.com/apollo-elements/apollo-elements) - GraphQL web components that work in any frontend framework. 183 | - [sveltekit-kitql](https://github.com/jycouet/kitql) - A set of tools, helping you building efficient apps in a fast way with SvelteKit and GraphQL. 184 | 185 | ###### React 186 | 187 | - [react-apollo](https://www.apollographql.com/docs/react/) - The core @apollo/client library provides built-in integration with React. 188 | - [relay](https://github.com/facebook/relay) - Relay is a JavaScript framework for building data-driven React applications. 189 | - [urql](https://github.com/FormidableLabs/urql) - A simple caching GraphQL client for React. 190 | - [graphql-hooks](https://github.com/nearform/graphql-hooks) - Minimal hooks-first GraphQL client with caching and server-side rendering support. 191 | - [mst-gql](https://github.com/mobxjs/mst-gql) - Bindings for mobx-state-tree and GraphQL. 192 | - [micro-graphql-react](https://github.com/arackaf/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. 193 | - [@gqty/react](https://github.com/gqty-dev/gqty) - A No GraphQL client for TypeScript 194 | 195 | #### Servers 196 | 197 | - [apollo-server](https://github.com/apollographql/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. 198 | - [hapi-graphql](https://github.com/SimonDegraeve/hapi-graphql) - Create a GraphQL HTTP server with Hapi. 199 | - [hapi-plugin-graphiql](https://github.com/rse/hapi-plugin-graphiql) - HAPI plugin for GraphiQL integration. 200 | - [graphql-api-koa](https://github.com/jaydenseric/graphql-api-koa) - GraphQL Koa middleware that implements GraphQL.js from scratch and supports native ESM. 201 | - [koa-graphql](https://github.com/chentsulin/koa-graphql) - GraphQL Koa Middleware. 202 | - [graphql-koa-scripts](https://github.com/ryanhs/graphql-koa-scripts) - GraphQL Koa 1 file simplified. usefull for quick test 203 | - [gql](https://github.com/deno-libs/gql) - Universal GraphQL HTTP middleware for Deno. 204 | - [mercurius](https://github.com/mercurius-js/mercurius) - GraphQL plugin for Fastify. 205 | - [graphql-yoga](https://github.com/prisma-labs/graphql-yoga) - Fully-featured GraphQL Server with focus on easy setup, performance and great developer experience. 206 | - [graphitejs](https://github.com/graphitejs/server) - Framework NodeJS for GraphQL. 207 | - [graphql-helix](https://github.com/contrawork/graphql-helix) - A highly evolved GraphQL HTTP Server. 208 | - [pylon](https://github.com/getcronit/pylon) - Write full-feature APIs with just functions. No more boilerplate code, no more setup. Just write functions and deploy. 209 | - [modus](https://github.com/hypermodeinc/modus) - Serverless runtime based on WebAssembly that delivers auto-generated GraphQL APIs. 210 | 211 | ##### Databases & ORMs 212 | 213 | - [graphql-sequelize](https://github.com/mickhansen/graphql-sequelize) - Sequelize helpers for GraphQL. 214 | - [graphql-bookshelf](https://github.com/brysgo/graphql-bookshelf) - Some help defining GraphQL schema around BookshelfJS models. 215 | - [join-monster](https://github.com/acarl005/join-monster) - A GraphQL-to-SQL query execution layer for batch data fetching. 216 | 217 | ##### PubSub 218 | 219 | - [graphql-ably-pubsub](https://www.npmjs.com/package/graphql-ably-pubsub) - Ably PubSub implementation for GraphQL to publish mutation updates and subscribe to the result through a subscription query. 220 | 221 | #### Custom Scalars 222 | 223 | - [graphql-scalars](https://github.com/Urigo/graphql-scalars) - A library of custom GraphQL Scalars for creating precise type-safe GraphQL schemas. 224 | 225 | #### Type 226 | 227 | - [type-graphql](https://github.com/19majkel94/type-graphql) - Create GraphQL schema and resolvers with TypeScript, using classes and decorators! 228 | - [graphql-nexus](https://github.com/graphql-nexus/nexus) - Code-First, Type-Safe, GraphQL Schema Construction. 229 | - [graphql-code-generator](https://github.com/dotansimha/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. 230 | - [pothos](https://github.com/hayes/pothos) - Pothos is a plugin based GraphQL schema builder for typescript. It makes building graphql schemas in typescript easy, fast and enjoyable. 231 | - [garph](https://github.com/stepci/garph) - Garph is full-stack framework for building type-safe GraphQL APIs in TypeScript. 232 | - [gqloom](https://github.com/modevol-com/gqloom) - GQLoom is a GraphQL weaver for TypeScript/JavaScript that weaves GraphQL schema and resolvers using [Valibot](https://github.com/fabian-hiller/valibot), [Zod](https://github.com/colinhacks/zod), or [Yup](https://github.com/jquense/yup). 233 | - [fast-graphql](https://github.com/idurar/fast-graphql) - Graphql Tools to Structure, Combine Resolvers and Merge Schema Definitions for Node.js, Next.Js and Graphql Apollo server 234 | - [graphql-to-type](https://github.com/lkster/graphql-to-type) - GraphQL query parser written entirely in TypeScript's type system for creating interfaces based on provided query 235 | - [gql.tada](https://github.com/0no-co/gql.tada) - GraphQL document authoring library, inferring the result and variables types of GraphQL queries and fragments in the TypeScript type system. 236 | 237 | #### Miscellaneous 238 | 239 | - [graphql-tools](https://github.com/apollographql/graphql-tools) - Tool library for building and maintaining GraphQL-JS servers. 240 | - [graphql-tag](https://github.com/apollographql/graphql-tag) - A JavaScript template literal tag that parses GraphQL queries. 241 | - [load-gql](https://github.com/KunalSin9h/load-gql) - A tiny, zero dependency GraphQL schema loader from files and folders. 242 | - [graphql-compose](https://github.com/graphql-compose/graphql-compose) - Tool which allows you to construct flexible graphql schema from different data sources via plugins. 243 | - [graphql-modules](https://github.com/Urigo/graphql-modules) - Separate GraphQL server into smaller, reusable parts by modules or features. 244 | - [graphql-shield](https://github.com/maticzav/graphql-shield) - A library that helps creating a permission layer for a graphql api. 245 | - [graphql-shield-generator](https://github.com/omar-dulaimi/graphql-shield-generator) - Emits a GraphQL Shield from your GraphQL schema. 246 | - [graphqlgate](https://github.com/oslabs-beta/GraphQL-Gate) - A GraphQL rate-limiting library with query complexity analysis for Node.js 247 | - [graphql-let](https://github.com/piglovesyou/graphql-let) - A webpack loader to import type-protected codegen results directly from GraphQL documents 248 | - [graphql-config](https://github.com/kamilkisiela/graphql-config) - One configuration for all your GraphQL tools (supported by most tools, editors & IDEs). 249 | - [graphql-cli](https://github.com/urigo/graphql-cli) - A command line tool for common GraphQL development workflows. 250 | - [graphql-toolkit](https://github.com/ardatan/graphql-toolkit) - A set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more). 251 | - [graphql-mesh](https://github.com/urigo/graphql-mesh) - use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL). 252 | - [sofa](https://github.com/Urigo/sofa) - Generate REST API from your GraphQL API. 253 | - [graphback](https://github.com/aerogear/graphback) - Framework and CLI to add a GraphQLCRUD API layer to a GraphQL server using data models. 254 | - [graphql-middleware](https://github.com/maticzav/graphql-middleware) - Split up your GraphQL resolvers in middleware functions. 255 | - [graphql-relay-js](https://github.com/graphql/graphql-relay-js) - A library to help construct a graphql-js server supporting react-relay. 256 | - [graphql-normalizr](https://github.com/monojack/graphql-normalizr) - Normalize GraphQL responses for persisting in the client cache/state. 257 | - [babel-plugin-graphql](https://github.com/ooflorent/babel-plugin-graphql) - Babel plugin that compile GraphQL tagged template strings. 258 | - [eslint-plugin-graphql](https://github.com/apollographql/eslint-plugin-graphql) - An ESLint plugin that checks your GraphQL strings against a schema. 259 | - [graphql-ws](https://github.com/enisdenjo/graphql-ws) - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client. 260 | - [graphql-live-query](https://github.com/n1ru4l/graphql-live-query) - Realtime GraphQL Live Queries with JavaScript. 261 | - [GraphVinci](https://github.com/Comcast/graphvinci) - An interactive schema visualizer for GraphQL APIs. 262 | - [supertest-graphql](https://github.com/alexstrat/supertest-graphql) - Extends [supertest](https://github.com/visionmedia/supertest) to easily test a GraphQL endpoint 263 | - [schemathesis](https://github.com/schemathesis/schemathesis) - Runs arbitrary queries matching a GraphQL schema to find server errors. 264 | - [microfiber](https://github.com/anvilco/graphql-introspection-tools) - Query and manipulate GraphQL introspection query results in useful ways. 265 | - [graphql-armor](https://github.com/Escape-Technologies/graphql-armor) - An instant security layer for production GraphQL Endpoints. 266 | - [goctopus](https://github.com/Escape-Technologies/goctopus) - an incredibly fast GraphQL discovery & fingerprinting toolbox. 267 | - [GraphQL Constraint Directive](https://github.com/confuser/graphql-constraint-directive) - Allows using @constraint as a directive to validate input data. Inspired by Constraints Directives RFC and OpenAPI 268 | - [Validator.js Wrapper Directive](https://github.com/ktutnik/graphql-directive/tree/master/packages/validator) - A comprehensive list of validator directive wraps Validator.js functionalities 269 | - [WunderGraph Cosmo](https://github.com/wundergraph/cosmo) - The Open-Source GraphQL Federation Solution with Full Lifecycle API Management for (Federated) GraphQL. Schema Registry, composition checks, analytics, metrics, tracing and routing. 270 | - [graphql-go-tools](https://github.com/wundergraph/graphql-go-tools) - A graphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2, Subscriptions & more. 271 | - [graphql-sunset](https://github.com/sophiabits/graphql-sunset) - Quickly and easily add support for the `Sunset` header to your GraphQL server, to better communicate upcoming breaking changes. 272 | 273 | 274 | 275 | #### JavaScript Examples 276 | 277 | - [React Starter Kit](https://github.com/kriasoft/react-starter-kit) - front-end starter kit using React, Relay, GraphQL, and JAM stack architecture. 278 | - [SWAPI GraphQL Wrapper](https://github.com/graphql/swapi-graphql) - A GraphQL schema and server wrapping SWAPI. 279 | - [Relay TodoMVC](https://github.com/taion/relay-todomvc) - Relay TodoMVC with routing. 280 | - [Apollo Client documentation](https://www.apollographql.com/docs/react) - Documentation and example for building GraphQL apps using apollo client. 281 | - [Apollo Server tools documentation](https://www.apollographql.com/docs/apollo-server/) - Documentation, tutorial and examples for building GraphQL server and connecting to SQL, MongoDB and REST endpoints. 282 | - [F8 App 2017](https://github.com/fbsamples/f8app) - Source code of the official F8 app of 2016, powered by React Native and other Facebook open source projects. 283 | - [Apollo React example for Github GraphQL API](https://github.com/katopz/react-apollo-graphql-github-example) - Usage Examples Apollo React for Github GraphQL API with create-react-app. 284 | - [Next.js TypeScript and GraphQL Example](https://github.com/zeit/next.js/tree/canary/examples/with-typescript-graphql) - A type-protected GraphQL example on Next.js running [graphql-codegen](https://graphql-code-generator.com/) under the hood 285 | - [GraphQL StackBlitz Starter](https://stackblitz.com/fork/graphql) – A live, editable demo spinning up in about 2 seconds and running in a browser. 286 | - [NAPERG](https://github.com/alan345/naperg) - Fullstack Boilerplate GraphQL. Made with React & Prisma + authentication & roles. 287 | - [VulcanJS](http://vulcanjs.org) - The full-stack React+GraphQL framework 288 | - [RAN Toolkit](https://github.com/sly777/ran) - Production-ready toolkit/boilerplate with support for GraphQL, SSR, Hot-reload, CSS-in-JS, caching, and more. 289 | 290 | 291 | 292 | #### TypeScript Examples 293 | 294 | - [Node.js API Starter](https://github.com/kriasoft/nodejs-api-starter) - Yarn v2 based monorepo template (code-first GraphQL API, PostgreSQL, PnP, Zero-install, serverless). 295 | - [Next.js Apollo TypeScript Starter](https://github.com/borisowsky/nextjs-apollo-ts-starter) - Next.js starter project focused on developer experience. 296 | - [GraphQL Starter](https://github.com/cerino-ligutom/GraphQL-Starter) - A boilerplate for TypeScript + Node Express + Apollo GraphQL APIs. 297 | - [Mocked Managed Federation - Apollo Server 3](https://github.com/setchy/apollo-server-3-mocked-federation) - An example of how to mock a managed federation Supgraph using Apollo Server 3.x 298 | - [Mocked Managed Federation - Apollo Server 4](https://github.com/setchy/apollo-server-4-mocked-federation) - An example of how to mock a managed federation Supgraph using Apollo Server 4.x 299 | - [Next.js Advanced Graphql Crud MongoDB Starter](https://github.com/idurar/starter-advanced-graphql-crud-next-js-mongodb) - Starter Generic CRUD with Advanced Apollo Graphql server with Next.js and Mongodb (TypeScript) 300 | 301 | 302 | 303 | ### Ruby 304 | 305 | - [graphql-ruby](https://github.com/rmosolgo/graphql-ruby) - Ruby implementation of Facebook's GraphQL. 306 | - [graphql-batch](https://github.com/Shopify/graphql-batch) - A query batching executor for the graphql gem. 307 | - [graphql-auth](https://github.com/o2web/graphql-auth) - A JWT auth wrapper working with devise. 308 | - [agoo](https://github.com/ohler55/agoo) - Ruby web server that implements Facebook's GraphQL. 309 | - [GQLi](https://github.com/contentful-labs/gqli.rb) - A GraphQL client and DSL. Allowing to write queries in native Ruby. 310 | 311 | 312 | 313 | #### Ruby Examples 314 | 315 | - [graphql-ruby-demo](https://github.com/rmosolgo/graphql-ruby-demo) - Use graphql-ruby to expose a Rails app. 316 | - [github-graphql-rails-example](https://github.com/github/github-graphql-rails-example) - Example Rails app using GitHub's GraphQL API. 317 | - [relay-on-rails](https://github.com/nethsix/relay-on-rails) - Barebones starter kit for Relay application with Rails GraphQL server. 318 | - [relay-rails-blog](https://github.com/gauravtiwari/relay-rails-blog) - A graphql, relay and standard rails application powered demo weblog. 319 | - [to_eat_app](https://github.com/jcdavison/to_eat_app) - A sample graphql/rails/relay application with a related 3-part article series. 320 | - [agoo-demo](https://github.com/ohler55/agoo/tree/develop/example/graphql) - Use of the Agoo server to demonstrate a simple GraphQL application. 321 | - [rails-devise-graphql](https://github.com/zauberware/rails-devise-graphql) - A rails 6 boilerplate with devise, graphql & JWT auth. 322 | 323 | 324 | 325 | ### PHP 326 | 327 | - [graphql-php](https://github.com/webonyx/graphql-php) - A PHP port of GraphQL reference implementation. 328 | - [graphql-relay-php](https://github.com/ivome/graphql-relay-php) - Relay helpers for webonyx/graphql-php implementation of GraphQL. 329 | - [lighthouse](https://github.com/nuwave/lighthouse) - A PHP package that allows to serve a GraphQL endpoint from your Laravel application. 330 | - [graphql-laravel](https://github.com/rebing/graphql-laravel) - Laravel wrapper for Facebook's GraphQL. 331 | - [overblog/graphql-bundle](https://github.com/overblog/GraphQLBundle) - This bundle provides tools to build a complete GraphQL server in your Symfony App. Supports react-relay. 332 | - [wp-graphql](https://github.com/wp-graphql/wp-graphql) - GraphQL API for WordPress. 333 | - [graphqlite](https://github.com/thecodingmachine/graphqlite) - Framework agnostic library that allows you to write GraphQL server by annotating your PHP classes. 334 | - [siler](https://github.com/leocavalcante/siler) - Plain-old functions providing a declarative API for GraphQL servers with Subscriptions support. 335 | - [graphql-request-builder](https://github.com/dpauli/php-graphql-request-builder) - Builds request payload in GraphQL structure. 336 | - [drupal/graphql](https://www.drupal.org/project/graphql) - Craft and expose a GraphQL schema for Drupal 9 and 10. 337 | - [jerowork/graphql-schema-builder](https://github.com/jerowork/graphql-attribute-schema) - Easily build your GraphQL schema for webonyx/graphql-php using PHP attributes instead of large configuration arrays. 338 | 339 | 340 | 341 | #### PHP Examples 342 | 343 | - [siler-graphgl](https://github.com/leocavalcante/siler/tree/main/examples/graphql) - An example GraphQL server written with Siler. 344 | 345 | 346 | 347 | ### Python 348 | 349 | - [graphql-parser](https://github.com/tryolabs/graphql-parser) - GraphQL parser for Python. 350 | - [graphql-core](https://github.com/graphql-python/graphql-core) - GraphQL implementation for Python based on GraphQL.js v16.3.0 reference implementation 351 | - [graphql-relay-py](https://github.com/graphql-python/graphql-relay-py) - A library to help construct a graphql-py server supporting react-relay. 352 | - [graphql-parser-python](https://github.com/tallstreet/graphql-parser-python) - A python wrapper around libgraphqlparser. 353 | - [graphene](https://github.com/graphql-python/graphene) - A package for creating GraphQL schemas/types in a Pythonic easy way. 354 | - [graphene-gae](https://github.com/graphql-python/graphene-gae) - Adds GraphQL support to Google AppEngine (GAE). 355 | - [django-graphiql](https://github.com/GraphQL-python-archive/django-graphiql) - Integrate GraphiQL easily into your Django project. 356 | - [flask-graphql](https://github.com/graphql-python/flask-graphql) - Adds GraphQL support to your Flask application. 357 | - [python-graphql-client](https://github.com/prisma/python-graphql-client) - Simple GraphQL client for Python 2.7+ 358 | - [python-graphjoiner](https://github.com/healx/python-graphjoiner) - Create GraphQL APIs using joins, SQL or otherwise. 359 | - [graphene-django](https://github.com/graphql-python/graphene-django) - A Django integration for Graphene. 360 | - [Flask-GraphQL-Auth](https://github.com/callsign-viper/Flask-GraphQL-Auth) - An authentication library for Flask inspired from flask-jwt-extended. 361 | - [tartiflette](https://github.com/dailymotion/tartiflette) - GraphQL Implementation, SDL First, for python 3.6+ / asyncio. 362 | - [tartiflette-aiohttp](https://github.com/dailymotion/tartiflette-aiohttp) - Wrapper of Tartiflette to expose GraphQL API over HTTP based on aiohttp / 3.6+ / asyncio, [official tutorial available on tartiflette.io](https://tartiflette.io/docs/tutorial/getting-started). 363 | - [Ariadne](https://github.com/mirumee/ariadne) - library for implementing GraphQL servers using schema-first approach. Asynchronous query execution, batteries included for ASGI, WSGI and popular webframeworks, [fully documented](https://ariadnegraphql.org). 364 | - [django-graphql-auth](https://github.com/PedroBern/django-graphql-auth) - Django registration and authentication with GraphQL. 365 | - [strawberry](https://github.com/strawberry-graphql/strawberry) - A new GraphQL library for Python. 366 | - [turms](https://github.com/jhnnsrs/turms) - A pythonic graphql codegenerator built around graphql-core and pydantic 367 | - [rath](https://github.com/jhnnsrs/rath) - An apollo like graphql client with async and sync interface 368 | - [sgqlc](https://github.com/profusion/sgqlc) - Simple GraphQL Client makes working with GraphQL API responses easier in Python. 369 | 370 | 371 | 372 | #### Python Examples 373 | 374 | - [swapi-graphene](https://github.com/graphql-python/swapi-graphene) - A GraphQL schema and server using [Graphene](https://graphene-python.org). 375 | - [Python Backend Tutorial](https://hasura.io/learn/graphql/backend-stack/languages/python/) - A tutorial on creating a GraphQL server with [Strawberry](https://strawberry.rocks/) and a client with [Qlient](https://qlient-org.github.io/python-qlient/site/). 376 | 377 | 378 | 379 | ### Java 380 | 381 | - [graphql-java](https://github.com/graphql-java/graphql-java) - GraphQL Java implementation. 382 | - [DGS Framework](https://github.com/Netflix/dgs-framework) - A GraphQL server framework for Spring Boot, developed by Netflix. 383 | - [graphql-java-generator](https://github.com/graphql-java-generator) - A [Maven plugin](https://github.com/graphql-java-generator/graphql-maven-plugin-project) and a [Gradle plugin](https://github.com/graphql-java-generator/graphql-gradle-plugin-project) 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. 384 | - [gaphql-java-type-generator](https://github.com/graphql-java/graphql-java-type-generator) - Auto-generates types for use with GraphQL Java 385 | - [schemagen-graphql](https://github.com/bpatters/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. 386 | - [graphql-java-annotations](https://github.com/Enigmatis/graphql-java-annotations) - Provides annotations-based syntax for schema definition with GraphQL Java. 387 | - [graphql-java-tools](https://github.com/graphql-java-kickstart/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](https://github.com/apollographql/graphql-tools) for JS. 388 | - [graphql-java-codegen-maven-plugin](https://github.com/kobylynskyi/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](https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin). 389 | - [graphql-java-codegen-gradle-plugin](https://github.com/kobylynskyi/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](https://github.com/int128/gradle-swagger-generator-plugin). 390 | - [graphql-java-servlet](https://github.com/graphql-java-kickstart/graphql-java-servlet) - A framework-agnostic java servlet for exposing graphql-java query endpoints with GET, POST, and multipart uploads. 391 | - [manifold-graphql](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/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](http://manifold.systems/images/graphql.mp4) with IntelliJ IDEA and Android Studio. See the [Java example](#example-java) below. 392 | - [spring-graphql-common](https://github.com/oembedler/spring-graphql-common) - Spring Framework GraphQL Library. 393 | - [graphql-spring-boot](https://github.com/graphql-java-kickstart/graphql-spring-boot) - GraphQL and GraphiQL Spring Framework Boot Starters. 394 | - [vertx-graphql-service-discovery](https://github.com/engagingspaces/vertx-graphql-service-discovery) - Asynchronous GraphQL service discovery and querying for your microservices. 395 | - [vertx-dataloader](https://github.com/engagingspaces/vertx-dataloader) - Port of Facebook DataLoader for efficient, asynchronous batching and caching in clustered GraphQL environments. 396 | - [graphql-spqr](https://github.com/leangen/GraphQL-SPQR) - Java 8+ API for rapid development of GraphQL services. 397 | - [Light Java GraphQL](https://github.com/networknt/light-graphql-4j): A lightweight, fast microservices framework with all cross-cutting concerns addressed and ready to plug in GraphQL schema. 398 | - [Elide](https://elide.io): A Java library that can expose a JPA annotated data model as a GraphQL service over any relational database. 399 | - [federation-jvm](https://github.com/apollographql/federation-jvm) - Apollo Federation on the JVM. 400 | - [graphql-orchestrator-java](https://github.com/graph-quilt/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. 401 | - [graphql-java-extended-validation](https://github.com/graphql-java/graphql-java-extended-validation) - Provides extended validation of fields and field arguments for graphql-java. 402 | - [dgs-extended-formatters](https://github.com/setchy/dgs-extended-formatters) - An experimental set of DGS Directives for common formatting use-cases. 403 | 404 | #### Custom Scalars 405 | 406 | - [graphql-java-datetime](https://github.com/donbeave/graphql-java-datetime) - GraphQL ISO Date is a set of RFC 3339 compliant date/time scalar types to be used with graphql-java. 407 | - [graphql-java-extended-scalars](https://github.com/graphql-java/graphql-java-extended-scalars) - Extended scalars for graphql-java. 408 | 409 | 410 | 411 | #### Java Examples 412 | 413 | - [light-java-graphql examples](https://github.com/networknt/light-example-4j/tree/master/graphql) - Examples of Light Java GraphQL and tutorials. 414 | - [graphql-spqr-samples](https://github.com/leangen/graphql-spqr-samples) - An example GraphQL server written with Spring MVC and GraphQL-SPQR. 415 | - [manifold-graphql sample](https://github.com/manifold-systems/manifold-sample-graphql-app) - A simple application, both client and server, demonstrating the Manifold GraphQL library. 416 | - [graphql-java-kickstart_samples](https://github.com/graphql-java-kickstart/samples) - Samples for using the GraphQL Java Kickstart projects. 417 | - [graphql-java-kickstart-federation-example](https://github.com/setchy/graphql-java-kickstart-federation-example) - A GraphQL Java Kickstart federation example. 418 | - [dgs-federation-example](https://github.com/Netflix/dgs-federation-example) - A Netflix DGS federation example. 419 | - [Spring Boot backend tutorial](https://hasura.io/learn/graphql/backend-stack/languages/java/) - A tutorial creating a GraphQL server and client using Spring Boot and Netflix DGS. 420 | 421 | 422 | 423 | ### Kotlin 424 | 425 | - [graphql-kotlin](https://github.com/ExpediaGroup/graphql-kotlin) - GraphQL Kotlin implementation. 426 | - [manifold-graphql](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/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](http://manifold.systems/images/graphql.mp4) with IntelliJ IDEA and Android Studio. See the [Kotlin example](#example-kotlin) below. 427 | - [KGraphQL](https://github.com/aPureBase/KGraphQL): Pure Kotlin implementation to setup a GraphQL server. 428 | - [Kobby](https://github.com/ermadmi78/kobby) - Codegen plugin of [Kotlin DSL Client](https://blog.kotlin-academy.com/how-to-generate-kotlin-dsl-client-by-graphql-schema-707fd0c55284) by GraphQL schema. The generated DSL supports execution of complex GraphQL queries, mutation and subscriptions in Kotlin with syntax similar to native GraphQL syntax. 429 | - [Graphkt](https://github.com/cufyorg/graphkt) - A DSL based graphql server library for kotlin, backed by graphql-java. 430 | 431 | 432 | 433 | #### Kotlin Examples 434 | 435 | - [manifold-graphql sample](https://github.com/manifold-systems/manifold-sample-kotlin-app) - A simple GraphQL application, both client and server, demonstrating the Manifold GraphQL library with Kotlin. 436 | 437 | 438 | 439 | ### C/C++ 440 | 441 | - [libgraphqlparser](https://github.com/graphql/libgraphqlparser) - A GraphQL query parser in C++ with C and C++ APIs. 442 | - [agoo-c](https://github.com/ohler55/agoo-c) - A high performance GraphQL server written in C. [benchmarks](https://github.com/the-benchmarker/graphql-benchmarks) 443 | - [cppgraphqlgen](https://github.com/Microsoft/cppgraphqlgen) - C++ GraphQL schema service generator. 444 | - [CaffQL](https://github.com/caffeinetv/CaffQL) - Generates C++ client types and request/response serialization from a GraphQL introspection query. 445 | 446 | 447 | 448 | ### Go 449 | 450 | - [graphql](https://github.com/graphql-go/graphql) - An implementation of GraphQL for Go follows graphql-js 451 | - [graphql-go](https://github.com/graph-gophers/graphql-go) - GraphQL server with a focus on ease of use. 452 | - [gql](https://github.com/kadirpekel/gql) - Code first graphql (graphql-go/graphql) schema builder. 453 | - [gqlgen](https://github.com/99designs/gqlgen) - Go generate based graphql server library. 454 | - [graphql-relay-go](https://github.com/graphql-go/relay) - A Go/Golang library to help construct a server supporting react-relay. 455 | - [graphjin](https://github.com/dosco/graphjin): Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler. 456 | - [graphql-go-tools](https://github.com/wundergraph/graphql-go-tools) - A graphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2, Subscriptions & more. 457 | 458 | 459 | 460 | #### Go Examples 461 | 462 | - [golang-relay-starter-kit](https://github.com/sogko/golang-relay-starter-kit) - Barebones starting point for a Relay application with Golang GraphQL server. 463 | - [todomvc-relay-go](https://github.com/sogko/todomvc-relay-go) - Port of the React/Relay TodoMVC app, driven by a Golang GraphQL backend. 464 | - [go-graphql-subscription-example](https://github.com/ccamel/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. 465 | - [Go Backend Tutorial](https://hasura.io/learn/graphql/backend-stack/languages/go/) - A tutorial showing how to make a Go GraphQL server and client using code generation. 466 | 467 | 468 | 469 | ### Scala 470 | 471 | - [sangria](https://github.com/sangria-graphql/sangria) - Scala GraphQL server implementation. 472 | - [sangria-relay](https://github.com/sangria-graphql/sangria-relay) - Sangria Relay Support. 473 | - [caliban](https://github.com/ghostdogpr/caliban) - Caliban is a purely functional library for creating GraphQL backends in Scala. 474 | 475 | 476 | 477 | #### Scala Examples 478 | 479 | - [sangria-akka-http-example](https://github.com/sangria-graphql/sangria-akka-http-example) - An example GraphQL server written with akka-http and [sangria](https://sangria-graphql.github.io/) 480 | - [sangria-playground](https://github.com/sangria-graphql/sangria-playground) - An example of GraphQL server written with Play and sangria. 481 | 482 | 483 | 484 | ### .NET 485 | 486 | - [graphql-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) - GraphQL for .NET. 487 | - [graphql-net](https://github.com/ckimes89/graphql-net) - GraphQL to IQueryable for .NET. 488 | - [Hot Chocolate](https://github.com/ChilliCream/hotchocolate) - GraphQL server for .Net Core and .NET Framework. 489 | - [Snowflaqe](https://github.com/Zaid-Ajaj/Snowflaqe) - Type-safe GraphQL code generator for F# and [Fable](https://github.com/fable-compiler/Fable) 490 | - [EntityGraphQL](https://github.com/EntityGraphQL/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. 491 | - [ZeroQL](https://github.com/byme8/ZeroQL) - type-safe GraphQL client with Linq-like interface for C# 492 | 493 | 494 | 495 | #### .NET Examples 496 | 497 | - [.NET backend tutorial](https://hasura.io/learn/graphql/backend-stack/languages/dotnet/) - A tutorial creating a GraphQL server and client with .NET. 498 | 499 | 500 | 501 | ### Elixir 502 | 503 | - [absinthe-graphql](https://github.com/absinthe-graphql/absinthe) - Fully Featured Elixir GraphQL Library. 504 | - [graphql-elixir](https://github.com/graphql-elixir/graphql) - GraphQL Elixir. (No longer maintained) 505 | - [plug_graphql](https://github.com/graphql-elixir/plug_graphql) - Plug integration for GraphQL Elixir. 506 | - [graphql_relay](https://github.com/graphql-elixir/graphql_relay) - Relay helpers for GraphQL Elixir. 507 | - [graphql_parser](https://github.com/graphql-elixir/graphql_parser) - Elixir bindings for [libgraphqlparser](https://github.com/graphql/libgraphqlparser) 508 | - [graphql](https://github.com/asonge/graphql) - Elixir GraphQL parser. 509 | - [plot](https://github.com/peburrows/plot) - GraphQL parser and resolver for Elixir. 510 | 511 | 512 | 513 | #### Elixir Examples 514 | 515 | - [hello_graphql_phoenix](https://github.com/graphql-elixir/hello_graphql_phoenix) - Examples of GraphQL Elixir Plug endpoints mounted in Phoenix 516 | 517 | 518 | 519 | ### Haskell 520 | 521 | - [graphql-haskell](https://github.com/jdnavarro/graphql-haskell) - GraphQL AST and parser for Haskell. 522 | - [morpheus-graphql](https://github.com/morpheusgraphql/morpheus-graphql) - Haskell GraphQL Api, Client and Tools. 523 | 524 | 525 | 526 | ### SQL 527 | 528 | - [GraphpostgresQL](https://github.com/solidsnack/GraphpostgresQL) - GraphQL for Postgres. 529 | - [sql-to-graphql](https://github.com/rexxars/sql-to-graphql) - Generate a GraphQL API based on your SQL database structure. 530 | - [PostGraphile](https://github.com/graphile/postgraphile) - Lightning-fast GraphQL APIs for PostgreSQL: highly customisable; extensible via plugins; realtime. 531 | - [Hasura](https://github.com/hasura/graphql-engine) - Hasura gives Instant Realtime GraphQL APIs over PostgreSQL. Works with an existing database too. 532 | - [subZero](https://subzero.cloud/) - GraphQL & REST API for your database 533 | 534 | 535 | 536 | ### Lua 537 | 538 | - [graphql-lua](https://github.com/bjornbytes/graphql-lua) - GraphQL for Lua. 539 | 540 | 541 | 542 | ### Elm 543 | 544 | - [elm-graphql](https://github.com/dillonkearns/elm-graphql) - GraphQL for Elm. 545 | 546 | 547 | 548 | ### Clojure 549 | 550 | - [graphql-clj](https://github.com/tendant/graphql-clj) - A Clojure library designed to provide GraphQL implementation. 551 | - [Lacinia](https://github.com/walmartlabs/lacinia) - GraphQL implementation in pure Clojure. 552 | - [graphql-query](https://github.com/district0x/graphql-query) - Clojure(Script) GraphQL query generation. 553 | 554 | 555 | 556 | #### Clojure Examples 557 | 558 | - [Clojure Game Geek](https://github.com/walmartlabs/clojure-game-geek) - Example code for the Lacinia GraphQL framework tutorial. 559 | 560 | 561 | 562 | ### Swift 563 | 564 | - [GraphQL](https://github.com/GraphQLSwift/GraphQL) - The Swift implementation for GraphQL. 565 | 566 | 567 | 568 | ### OCaml 569 | 570 | - [ocaml-graphql-server](https://github.com/andreas/ocaml-graphql-server) - GraphQL servers in OCaml. 571 | 572 | 573 | 574 | ### Android 575 | 576 | - [apollo-android](https://github.com/apollographql/apollo-android) - 📟 A strongly-typed, caching GraphQL client for Android, written in Java. 577 | - [manifold-graphql](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/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](http://manifold.systems/images/graphql.mp4) with IntelliJ IDEA and Android Studio. See the [Java example](#example-java) below. 578 | 579 | 580 | 581 | #### Android Examples 582 | 583 | - [apollo-frontpage-android-app](https://github.com/rnitame/apollo-frontpage-android-app) - 📄 Apollo "hello world" app, for Android. 584 | 585 | 586 | 587 | ### iOS 588 | 589 | - [apollo-ios](https://github.com/apollographql/apollo-ios) - 📱 A strongly-typed, caching GraphQL client for iOS, written in Swift. 590 | - [ApolloDeveloperKit](https://github.com/manicmaniac/ApolloDeveloperKit) - Apollo Client Devtools bridge for [Apollo iOS]. 591 | - [Graphaello](https://github.com/nerdsupremacist/Graphaello) - Type Safe GraphQL directly from SwiftUI. 592 | - [GQLite iOS SDK](https://graphqlite.com/sdk-ios) - GQLite iOS SDK is a toolkit to work with GraphQL servers easily. 593 | 594 | 595 | 596 | #### iOS Examples 597 | 598 | - [frontpage-ios-app](https://github.com/apollographql/frontpage-ios-app) - 📄 Apollo "hello world" app, for iOS. 599 | 600 | 601 | 602 | ### ClojureScript 603 | 604 | - [re-graph](https://github.com/oliyh/re-graph) - A GraphQL client for ClojureScript with bindings for re-frame applications. 605 | - [graphql-query](https://github.com/district0x/graphql-query) - Clojure(Script) GraphQL query generation. 606 | 607 | 608 | 609 | ### ReasonML 610 | 611 | - [reason-apollo](https://github.com/apollographql/reason-apollo) - ReasonML binding for Apollo Client. 612 | - [ReasonQL](https://github.com/sainthkh/reasonql) - Type-safe and simple GraphQL Client for ReasonML developers. 613 | - [reason-urql](https://github.com/FormidableLabs/reason-urql) - ReasonML binding for urql Client. 614 | 615 | 616 | 617 | ### Dart 618 | 619 | - [graphql-flutter](https://github.com/zino-app/graphql-flutter) - A GraphQL client for Flutter. 620 | - [Artemis](https://github.com/comigor/artemis) - A GraphQL type and query generator for Dart/Flutter. 621 | 622 | 623 | 624 | ### Rust 625 | 626 | - [async-graphql](https://github.com/async-graphql/async-graphql) - High-performance server-side library that supports all GraphQL specifications. 627 | - [juniper](https://github.com/graphql-rust/juniper) - GraphQL server library for Rust. 628 | - [graphql-client](https://github.com/tomhoule/graphql-client) - GraphQL client library for Rust with WebAssembly (wasm) support. 629 | - [graphql-parser](https://github.com/graphql-rust/graphql-parser) - A parser, formatter and AST for the GraphQL query and schema definition language for Rust. 630 | - [tailcall](https://github.com/tailcallhq/tailcall) - A platform for building high-performance GraphQL backends. 631 | 632 | 633 | 634 | #### Rust Examples 635 | 636 | - [Warp GraphQL Juniper](https://graphql-rust.github.io/) 637 | - [Tailcall](https://tailcall.run/docs/) 638 | 639 | 640 | 641 | ### D (dlang) 642 | 643 | - [graphqld](https://github.com/burner/graphqld) - GraphQL server library for D. 644 | 645 | 646 | 647 | ### R (Rstat) 648 | 649 | - [ghql](https://github.com/ropensci/ghql) - General purpose GraphQL R client. 650 | - [graphql](https://github.com/ropensci/graphql) - Bindings to the 'libgraphqlparser' C++ library. Parses GraphQL syntax and exports the AST in JSON format. 651 | - [gqlr](https://github.com/schloerke/gqlr) - R GraphQL Implementation. 652 | 653 | 654 | 655 | ### Julia 656 | 657 | - [Diana.jl](https://github.com/codeneomatrix/Diana.jl) - A Julia GraphQL client/server implementation. 658 | - [GraphQLClient.jl](https://github.com/DeloitteDigitalAPAC/GraphQLClient.jl) - A Julia GraphQL client for seamless integration with a server. 659 | 660 | 661 | 662 | ### Crystal 663 | 664 | - [graphql](https://github.com/graphql-crystal/graphql) - GraphQL server library. 665 | - [graphql-crystal](https://github.com/ziprandom/graphql-crystal) - library inspired by [graphql-ruby](https://github.com/rmosolgo/graphql-ruby) & [go-graphql](https://github.com/playlyfe/go-graphql) & [graphql-parser](https://github.com/graphql-dotnet/parser). 666 | - [crystal-gql](https://github.com/itsezc/crystal-gql) - GraphQL client shard inspired by Apollo client. 667 | - [graphql.cr](https://github.com/garymardell/graphql.cr) - GraphQL shard. 668 | 669 | ### Ballerina 670 | 671 | - [graphql](https://github.com/ballerina-platform/module-ballerina-graphql) - Ballerina standard library for GraphQL. This library provides a GraphQL client and server implementations including builtin support for GraphQL subscriptions. 672 | - [graphql CLI](https://github.com/ballerina-platform/graphql-tools) - 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. 673 | 674 | #### Ballerina Samples 675 | 676 | - [Ballerina GraphQL Examples](https://github.com/ballerina-platform/module-ballerina-graphql/tree/master/examples) 677 | - [Convert Weather REST API to GraphQL API](https://github.com/ThisaruGuruge/weather-rest-api-to-graphql) 678 | 679 | 680 | 681 | ## Tools 682 | 683 | ### Tools - Editors & IDEs & Explorers 684 | 685 | - [GraphiQL](https://github.com/graphql/graphiql) - An in-browser IDE for exploring GraphQL. 686 | - [GraphQL Editor](https://github.com/graphql-editor/graphql-editor) - Visual Editor & GraphQL IDE. 687 | - [GraphQL Voyager](https://github.com/APIs-guru/graphql-voyager) - Represent any GraphQL API as an interactive graph. 688 | - [Altair GraphQL Client](https://github.com/altair-graphql/altair) - A beautiful feature-rich GraphQL Client for all platforms. 689 | - [Brangr](https://github.com/networkimprov/brangr) - A unique, user-friendly data browser/viewer for any GraphQL service, with attractive result layouts. 690 | - [Insomnia](https://insomnia.rest/) - A full-featured API client with first-party GraphQL query editor. 691 | - [Postman](https://learning.postman.com/docs/sending-requests/supported-api-frameworks/graphql/) - An HTTP Client that supports editing GraphQL queries. 692 | - [Bruno](https://github.com/usebruno/bruno) - Fast, open source API client, which stores collections offline-only in a Git-friendly plain text markup language. 693 | - [Escape GraphMan](https://github.com/Escape-Technologies/graphman) - Generate a complete Postman collection from a GraphQL endpoint. 694 | - [Apollo Sandbox](https://sandbox.apollo.dev/) - The quickest way to navigate and test your GraphQL endpoints. 695 | - [GraphQL Birdseye](https://github.com/Novvum/graphql-birdseye) – View any GraphQL schema as a dynamic and interactive graph. 696 | - [AST Explorer](https://astexplorer.net/) - Select "GraphQL" at the top, explore the GraphQL AST and highlight different parts by clicking in the query. 697 | - [Firecamp - GraphQL Playground](https://firecamp.io/graphql) - The fastest collaborative GraphQL playground. 698 | - [CraftQL](https://github.com/yamafaktory/craftql) - A CLI tool to visualize GraphQL schemas and to output a graph data structure as a graphviz .dot format. 699 | - [gqt](https://github.com/eerimoq/gqt) - Build and execute GraphQL queries in the terminal. 700 | - [Hackolade](https://studio.hackolade.com/) - Visual GraphQL schema editor to generate Schema Definition Language files without any knowledge of the GraphQL syntax. Also visualize and document existing endpoints with introspection. Additional info and instructions [here](https://hackolade.com/help/GraphQL.html) 701 | 702 | 703 | 704 | 705 | ### Tools - Testing 706 | 707 | - [Step CI](https://stepci.com) - Open-Source API Testing and Monitoring with GraphQL support 708 | - [graphql-to-karate](https://github.com/wbaldoumas/graphql-to-karate) - Generate Karate API tests from your GraphQL schemas 709 | 710 | 711 | 712 | ### Tools - Security 713 | 714 | - [GraphCrawler - The all-in-one GraphQL Security toolkit](https://github.com/gsmith257-cyber/GraphCrawler) - The all-in-one automated penetration tester toolkit for GraphQL, written in Python 715 | - [Escape - The GraphQL Security Scanner](https://graphql.security/) - One-click security scan of your GraphQL endpoints. Free, no login required. 716 | - [Escape Graphinder - GraphQL Subdomain Enumeration](https://github.com/Escape-Technologies/graphinder) – Blazing fast GraphQL endpoints finder using subdomain enumeration, scripts analysis and bruteforce. 717 | - [StackHawk - GraphQL Vulnerability Scanner](https://www.stackhawk.com/blog/automated-graphql-security-testing) - [StackHawk](https://www.stackhawk.com) 718 | - [InQL Scanner](https://github.com/doyensec/inql) - A Burp Extension for GraphQL Security Testing 719 | - [GraphQL Raider](https://portswigger.net/bappstore/4841f0d78a554ca381c65b26d48207e6) [BurpSuite](https://portswigger.net/burp) 720 | - [WAF for graphQL](https://lab.wallarm.com/api-security-solution/) - Web Application Firewall for graphQL APIs 721 | - [GraphQL Intruder](https://github.com/davinerd/gql_intruder) - Plugin based python script to perform GraphQL vulnerability assessment. 722 | - [GraphQL Cop](https://github.com/dolevf/graphql-cop) - Security Audit Utility for GraphQL 723 | - [GraphQLer](https://github.com/omar2535/GraphQLer) - Dependency-aware dynamic GraphQL testing tool 724 | 725 | ### Tools - Browser Extensions 726 | 727 | - [Apollo Client Developer Tools](https://github.com/apollographql/apollo-client-devtools) - GraphQL debugging tools for Apollo Client in the Chrome developer console 728 | - [GraphQL Network Inspector](https://chrome.google.com/webstore/detail/graphql-network-inspector/ndlbedplllcgconngcnfmkadhokfaaln) - A simple and clean chrome dev-tools extension for GraphQL network inspection. 729 | 730 | ### Tools - Prototyping 731 | 732 | - [GraphQL Faker](https://github.com/APIs-guru/graphql-faker) - 🎲 Mock or extend your GraphQL API with faked data. No coding required. 733 | 734 | ### Tools - Docs 735 | 736 | - [graphdoc](https://github.com/2fd/graphdoc) - Static page generator for documenting GraphQL Schema. 737 | - [gqldoc](https://github.com/Code-Hex/gqldoc) - The easiest way to make API documents for GraphQL. 738 | - [spectaql](https://github.com/anvilco/spectaql) - Autogenerate static GraphQL API documentation. 739 | - [graphql-markdown](https://graphql-markdown.github.io/) - Flexible documentation for GraphQL powered with Docusaurus. 740 | 741 | ### Tools - Editor Plugins 742 | 743 | - [Apollo GraphQL VSCode Extension](https://marketplace.visualstudio.com/items?itemName=apollographql.vscode-apollo) - Rich editor support for GraphQL client and server development that seamlessly integrates with the Apollo platform 744 | - [js-graphql-intellij-plugin](https://github.com/jimkyndemeyer/js-graphql-intellij-plugin/) - GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript. 745 | - [vim-graphql](https://github.com/jparise/vim-graphql) - A Vim plugin that provides GraphQL file detection and syntax highlighting. 746 | - [Apollo Workbench](https://marketplace.visualstudio.com/items?itemName=apollographql.apollo-workbench) - Tooling to help you develop and mock federated schemas using Apollo Federation. 747 | - [graphql-autocomplete](https://github.com/orionsoft/atom-graphql-autocomplete) - Autocomplete and lint from a GraphQL endpoint in Atom. 748 | 749 | ### Tools - Miscellaneous 750 | 751 | - [graphql-code-generator](https://github.com/dotansimha/graphql-code-generator) - GraphQL code generator based on schema and documents. 752 | - [swagger-to-graphql](https://github.com/yarax/swagger-to-graphql) - GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes 753 | - [ts-graphql-plugin](https://github.com/Quramy/ts-graphql-plugin) - A language service plugin complete and validate GraphQL query in TypeScript template strings. 754 | - [apollo-tracing](https://github.com/apollographql/apollo-tracing) - GraphQL extension that enables you to easily get resolver-level performance information as part of a GraphQL response. 755 | - [json-graphql-server](https://github.com/marmelab/json-graphql-server) - Get a full fake GraphQL API with zero coding in less than 30 seconds, based on a JSON data file. 756 | - [Prisma](https://github.com/prisma/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. 757 | - [Typetta](https://github.com/twinlogix/typetta) - Node.js ORM written in TypeScript for type lovers. Typetta is the perfect ORM for the GraphQL + NodeJS + Typescript stack. 758 | - [tuql](https://github.com/bradleyboy/tuql) - Automatically create a GraphQL server from any sqlite database. 759 | - [Bit](https://github.com/teambit/bit) - Organize GraphQL API as components to be consumed with NPM or modified from any project, [example-explanation](https://hackernoon.com/make-your-graphql-api-easier-to-adopt-through-components-74b022f195c1)). 760 | - [openapi-to-graphql](https://github.com/ibm/openapi-to-graphql) - Take any OpenAPI Specification (OAS) or swagger and create a GraphQL interface - Two minute video and resources [here](https://developer.ibm.com/open/projects/openapi-to-graphql/) 761 | - [Retool](https://retool.com/) – Internal tools builder on top of your GraphQL APIs + GraphQL IDE with a schema explorer. 762 | - [dataloader-codegen](https://github.com/Yelp/dataloader-codegen) - An opinionated JavaScript library for automatically generating predictable, type safe DataLoaders over a set of resources (e.g. HTTP endpoints). 763 | - [raphql-inspector](https://github.com/kamilkisiela/graphql-inspector): alidate schema, get schema change notifications, validate operations, find breaking changes, look for similar types, schema coverage. 764 | - [amplication](https://github.com/amplication/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. 765 | - [Blendbase](https://github.com/blendbase/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. 766 | - [microfiber](https://github.com/anvilco/graphql-introspection-tools) - Query and manipulate GraphQL introspection query results in useful ways. 767 | - [ILLA Cloud](https://www.illacloud.com/) – Open-source low-code tool building platform provides an easy way to integrate with GraphQL with minimal configurations 768 | - [DronaHQ](https://www.dronahq.com/) - Build internal tools, dashboards, admin panel on top of GraphQL data in minutes 769 | - [Dynaboard](https://dynaboard.com) - Generate low-code web apps from any GraphQL API using AI. 770 | - [gqlhash](https://github.com/romshark/gqlhash) - Lightning fast query hasher that ignores formatting diffs and comments and supports multiple hashing functions. 771 | 772 | 773 | ## Databases 774 | 775 | - [Cube](https://cube.dev) - [Headless BI](https://cube.dev/blog/headless-bi) for building data applications with SQL, REST, and [GraphQL API](https://cube.dev/docs/backend/graphql). Connect any database or data warehouse and instantly get a GraphQL API with sub-second latency on top of it. - [Source Code](https://github.com/cube-js/cube.js) 776 | - [Dgraph](https://dgraph.io/) - Scalable, distributed, low latency, high throughput Graph database with GraphQL as the query language 777 | - [EdgeDB](https://edgedb.com/) - The next generation object-relational database with native GraphQL support. 778 | - [FaunaDB](https://fauna.com) - Relational NoSQL database with [GraphQL schema import.](https://fauna.com/blog/getting-started-with-graphql-part-1-importing-and-querying-your-schema) Supports joins, indexes, and multi-region ACID transactions with serverless pay-per-use pricing. 779 | - [ArangoDB](https://arangodb.com/) - Native multi-model database with [GraphQL integration](https://www.arangodb.com/docs/3.4/foxx-reference-modules-graph-ql.html) via the built-in [Foxx Microservices Framework](https://www.arangodb.com/docs/stable/foxx.html). 780 | - [Weaviate](https://github.com/semi-technologies/weaviate) - Weaviate is a cloud-native, modular, real-time vector search engine with a [GraphQL interface](https://weaviate.io/developers/weaviate/api/graphql) built to scale your machine learning models. 781 | 782 | 783 | 784 | ## Services 785 | 786 | - [AWS AppSync](https://aws.amazon.com/appsync/) - Scalable managed GraphQL service with subscriptions for building real-time and offline-first apps 787 | - [FakeQL](https://fakeql.com/) - GraphQL API mocking as a service ... because GraphQL API mocking should be easy! 788 | - [Moesif API Analytics](https://www.moesif.com/features/graphql-analytics) - A GraphQL analaytics and monitoring service to find functional and performance issues. 789 | - [Booster framework](https://booster.cloud/) - 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. 790 | - [Nhost](https://nhost.io/) - Open source Firebase alternative with GraphQL 791 | - [Saleor](https://github.com/mirumee/saleor/) - GraphQL-first headless e-commerce platform. 792 | - [Stargate](https://stargate.io/docs/latest/quickstart/qs-graphql-cql-first.html) - Open source data gateway currently supporting Apache Cassandra® and DataStax Enterprise. 793 | - [Grafbase](https://grafbase.com) - Instant GraphQL APIs for any data source. 794 | 795 | ### CDN 796 | 797 | - [GraphCDN](https://graphcdn.io/) - GraphQL CDN for caching GraphQL APIs. 798 | 799 | ### CMS 800 | 801 | - [DatoCMS](https://www.datocms.com/) - CDN-based GraphQL based Headless Content Management System. 802 | - [Apito](https://apito.io/) - A Cloud Based Headless CMS with CDN, Webhooks, Team Collaborations, Content Revision, Cloud Functions. 803 | - [Hygraph](https://hygraph.com/) - Build Scalable Content Experiences. 804 | - [Cosmic](https://www.cosmicjs.com/) - GraphQL-powered Headless CMS and API toolkit. 805 | - [Graphweaver](https://graphweaver.com/) - Turn multiple datasources into a single GraphQL API. 806 | 807 | 808 | 809 | ## Books 810 | 811 | - [The GraphQL Guide](https://graphql.guide) by John Resig and Loren Sands-Ramshaw 812 | - [Craft GraphQL APIs in Elixir with Absinthe](https://pragprog.com/book/wwgraphql/craft-graphql-apis-in-elixir-with-absinthe) by Bruce Williams and Ben Wilson 813 | - [The Road to GraphQL](https://www.roadtographql.com/) 814 | - [Practical GraphQL](https://leanpub.com/book-graphql) by Daniel Schmitz 815 | - [Production Ready GraphQL](https://book.productionreadygraphql.com) by Marc-André Giroux 816 | - [Full Stack GraphQL Applications](https://www.manning.com/books/fullstack-graphql-applications) by William Lyon 817 | 818 | 819 | 820 | ## Videos 821 | 822 | - [GraphQL: The Documentary](https://www.youtube.com/watch?v=783ccP__No8) 823 | - [Zero to GraphQL in 30 Minutes](https://www.youtube.com/embed/UBGzsb2UkeY) 824 | - [Data fetching for React applications at Facebook](https://www.youtube.com/watch?v=9sc8Pyc51uU) 825 | - [React Native & Relay: Bringing Modern Web Techniques to Mobile](https://www.youtube.com/watch?v=X6YbAKiLCLU) 826 | - [Exploring GraphQL](https://www.youtube.com/watch?v=WQLzZf34FJ8) 827 | - [Creating a GraphQL Server](https://www.youtube.com/watch?v=gY48GW87Feo) 828 | - [GraphQL at The Financial Times](https://www.youtube.com/watch?v=S0s935RKKB4) 829 | - [Relay: An Application Framework For React](https://www.youtube.com/watch?v=IrgHurBjQbg) 830 | - [Building and Deploying Relay with Facebook](https://www.youtube.com/watch?t=643&v=Pxdgu2XIAAg) 831 | - [Introduction to GraphQL](https://vimeo.com/144817545) 832 | - [Exploring GraphQL@Scale](https://www.youtube.com/watch?v=_9RgHXqH8J0) 833 | - [What's Next for Phoenix by Chris McCord](https://www.youtube.com/watch?v=IMUpYOc9z3c&feature=youtu.be) 834 | - [GraphQL with Nick Schrock](https://www.youtube.com/watch?v=Ed6oJXKt3-M) 835 | - [Build a GraphQL server for Node.js using PostgreSQL/MySQL](https://www.youtube.com/watch?v=DNPVqK_woRQ) 836 | - [GraphQL server tutorial for Node.js with SQL, MongoDB and REST](https://www.youtube.com/watch?v=PHabPhgRUuU) 837 | - [JavaScript Air Episode 023: Transitioning from REST to GraphQL](https://www.youtube.com/watch?v=ENqDNIp1Nd8) 838 | - [GraphQL Future at react-europe 2016](https://www.youtube.com/watch?v=ViXL0YQnioU) 839 | - [GraphQL at Facebook at react-europe 2016](https://www.youtube.com/watch?v=etax3aEe2dA) 840 | - [Building native mobile apps with GraphQL at react-europe 2016](https://www.youtube.com/watch?v=z5rz3saDPJ8) 841 | - [Build a GraphQL Server](https://www.youtube.com/watch?v=PEcJxkylcRM&list=PLillGF-RfqbYZty73_PHBqKRDnv7ikh68) 842 | - [GraphQL Tutorial](https://www.youtube.com/watch?v=Y0lDGjwRYKw&list=PL4cUxeGkcC9iK6Qhn-QLcXCXPQUov1U7f) 843 | - [Five years of GraphQL](https://www.youtube.com/watch?v=s8meG38iZAM) 844 | - [GraphQL is for Everyone by Moon Highway](https://moonhighway.teachable.com/p/graphql-is-for-everyone) 845 | 846 | 847 | 848 | ## Podcasts 849 | 850 | - [GraphQL.FM](https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy8zNjE5NmViMC9wb2RjYXN0L3Jzcw==) by Marc-Andre Giroux and Tony Ghita. 851 | 852 | 853 | 854 | ## Style Guides 855 | 856 | - [Shopify GraphQL Design Tutorial](https://github.com/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. 857 | - [GitLab GraphQL API Style Guide](https://docs.gitlab.com/ee/development/api_graphql_styleguide.html) - This document outlines the style guide for the GitLab GraphQL API. 858 | - [Yelp GraphQL Guidelines](https://yelp.github.io/graphql-guidelines/) - This repo contains documentation and guidelines for a standardized and mostly reasonable approach to GraphQL (at Yelp). 859 | - [Principled GraphQL](https://principledgraphql.com/) - Apollo's 10 GraphQL Principles, broken out into three categories, in a format inspired by the Twelve Factor App. 860 | 861 | 862 | 863 | ## Blogs 864 | 865 | - [Official GraphQL blog](https://graphql.org/blog/) 866 | - [Building Apollo](https://blog.apollographql.com/) 867 | - [The Guild blog](https://medium.com/the-guild) 868 | - [Production Ready GraphQL blog](https://productionreadygraphql.com) 869 | 870 | 871 | 872 | ### Blogs - Security 873 | 874 | - [Escape - The GraphQL Security Blog](https://escape.tech/blog) - Learn about GraphQL security, performance, testing and building production-ready APIs with the latest tools and best practices of the GraphQL ecosystem. 875 | - [9 GraphQL Security Best Practices](https://escape.tech/blog/9-graphql-security-best-practices/) 876 | - [Discovering GraphQL Endpoints and SQLi Vulnerabilities](https://medium.com/@localh0t/discovering-graphql-endpoints-and-sqli-vulnerabilities-5d39f26cea2e) 877 | - [Securing GraphQL API](https://lab.wallarm.com/securing-graphql-api/) 878 | - [Security Points to Consider Before Implementing GraphQL](https://nordicapis.com/security-points-to-consider-before-implementing-graphql/) 879 | - [Authorization Patterns in GraphQL](https://www.osohq.com/post/graphql-authorization) 880 | 881 | 882 | 883 | ## Posts 884 | 885 | - [GraphQL federation example with Apollo Federation and Apollo GraphOS](https://cube.dev/blog/graphql-federation-example-with-apollo-federation-and-apollo-graphos) 886 | - [GraphQL federation with Hasura GraphQL Engine and Cube](https://cube.dev/blog/graphql-federation-with-hasura-graphql-engine) 887 | - [Using DataLoader to batch GraphQL requests](https://medium.com/@gajus/using-dataloader-to-batch-requests-c345f4b23433) 888 | - [Introducing Relay and GraphQL](https://reactjs.org/blog/2015/02/20/introducing-relay-and-graphql.html) 889 | - [GraphQL Introduction](https://reactjs.org/blog/2015/05/01/graphql-introduction.html) 890 | - [Unofficial Relay FAQ](https://gist.github.com/wincent/598fa75e22bdfa44cf47) 891 | - [Your First GraphQL Server](https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2) 892 | - [GraphQL Overview - Getting Started with GraphQL and Node.js](https://blog.risingstack.com/graphql-overview-getting-started-with-graphql-and-nodejs/) 893 | - [4 Reasons you should try out GraphQL](https://medium.freecodecamp.org/introduction-to-graphql-1d8011b80159) 894 | - [Moving from REST to GraphQL](https://medium.com/@frikille/moving-from-rest-to-graphql-e3650b6f5247) 895 | - [Writing a Basic API with GraphQL](http://davidandsuzi.com/writing-a-basic-api-with-graphql/) 896 | - [Building a GraphQL Server with Node.js and SQL](https://www.reindex.io/blog/building-a-graphql-server-with-node-js-and-sql/) 897 | - [GraphQL at The Financial Times](https://www.slideshare.net/LondonReact/graph-ql) 898 | - [Implementing GraphQL RBAC Authorization: A Practical Guide](https://www.permit.io/blog/implementing-graphql-authorization) 899 | - [From REST to GraphQL](https://jacobwgillespie.com/2015-10-09-from-rest-to-graphql) 900 | - [GraphQL: A data query language](https://graphql.org/blog/graphql-a-query-language/) 901 | - [Subscriptions in GraphQL and Relay](https://graphql.org/blog/subscriptions-in-graphql-and-relay/) 902 | - [Relay 101: Building A Hacker News Client](https://medium.com/@clayallsopp/relay-101-building-a-hacker-news-client-bb8b2bdc76e6) 903 | - [GraphQL Shorthand Notation Cheatsheet](https://wehavefaces.net/graphql-shorthand-notation-cheatsheet-17cd715861b6) 904 | - [The GitHub GraphQL API](https://githubengineering.com/the-github-graphql-api/) 905 | - [Github GraphQL API React Example](https://medium.com/@katopz/github-graphql-api-react-example-eace824d7b61) 906 | - [Testing a GraphQL Server using Jest](https://medium.com/entria/testing-a-graphql-server-using-jest-4e00d0e4980e) 907 | - [How to implement viewerCanSee in GraphQL](https://medium.com/entria/how-to-implement-viewercansee-in-graphql-78cc48de7464) 908 | - [Preventing traversal attacks on your GraphQL API](https://blog.morethancode.dev/preventing-traversal-attacks-in-your-graphql-api/) 909 | - [Mock your GraphQL server realistically with faker.js](https://dev.to/yvonnickfrin/mock-your-graphql-server-realistically-with-faker-js-25oo) 910 | - [Create an infinite loading list with React and GraphQL](https://dev.to/yvonnickfrin/create-an-infinite-loading-list-with-react-and-graphql-19hh) 911 | - [REST vs GraphQL](https://www.moesif.com/blog/technical/graphql/REST-vs-GraphQL-APIs-the-good-the-bad-the-ugly/) 912 | - [Authentication and Authorization for GraphQL APIs](https://www.moesif.com/blog/technical/api-design/Steps-to-Building-Authentication-and-Authorization-For-GraphQL-APIs/) 913 | - [Build a GraphQL API with Siler on top of Swoole](https://www.swoole.co.uk/article/Build-a-GraphQL-API-on-top-of-Swoole) 914 | - [Fluent GraphQL clients: how to write queries like a boss](https://hasura.io/blog/fluent-graphql-clients-how-to-write-queries-like-a-boss/) 915 | - [Level up your serverless game with a GraphQL data-as-a-service layer](https://hasura.io/blog/level-up-your-serverless-game-with-a-graphql-data-as-a-service-layer/) 916 | - [A deep-dive into Relay, the friendly & opinionated GraphQL client](https://hasura.io/blog/deep-dive-into-relay-graphql-client/) 917 | - [make your graphql api easier to adopt through components](https://hackernoon.com/make-your-graphql-api-easier-to-adopt-through-components-74b022f195c1) 918 | - [Undocumented: keeping parts of your GraphQL schema hidden from introspection](https://www.useanvil.com/blog/engineering/undocumented-directive/) 919 | - [GraphQL Subscriptions with Apache Kafka in Ballerina](https://medium.com/ballerina-techblog/graphql-subscriptions-with-apache-kafka-in-ballerina-b3c296d333cd) 920 | - [How to Test your GraphQL Endpoints](https://escape.tech/blog/8-most-common-graphql-vulnerabilities/) 921 | - [Why Automatic Persisted Queries Don't Scale](https://blog.tailcall.run/the-truth-about-scaling-automatic-persisted-queries/) 922 | 923 | 924 | 925 | ## Tutorials 926 | 927 | - [How to GraphQL](https://www.howtographql.com) - Fullstack Tutorial Website with Tracks for all Major Frameworks & Languages including React, Apollo, Relay, JavaScript, Ruby, Java, Elixir and many more. 928 | - [Apollo Odyssey](https://odyssey.apollographql.com/) - Apollo's free interactive learning platform. 929 | - [learning-graphql](https://github.com/mugli/learning-graphql) - An attempt to learn GraphQL. 930 | - [GraphQL Roadmap](https://roadmap.sh/graphql) - Step by step guide to learn GraphQL. 931 | - [GraphQL Security Academy](https://escape.tech/academy/) - a free and interactive platform to learn GraphQL security: how to find, exploit and fix GraphQL vulnerabilities. 932 | 933 | ## License 934 | 935 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 936 | 937 | To the extent possible under law, [Chen-Tsu Lin](https://github.com/chentsulin) has waived all copyright and related or neighboring rights to this work. 938 | --------------------------------------------------------------------------------