1884 lines
82 KiB
HTML
1884 lines
82 KiB
HTML
<h1 id="awesome-graphql-awesome">awesome-graphql <a
|
||
href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<blockquote>
|
||
<p>Awesome list of GraphQL</p>
|
||
</blockquote>
|
||
<p>If you want to contribute to this list (please do), send me a pull
|
||
request.</p>
|
||
<h2 id="table-of-contents">Table of Contents</h2>
|
||
<!-- MarkdownTOC depth=4 -->
|
||
<ul>
|
||
<li><a href="#awesome-graphql-">awesome-graphql</a>
|
||
<ul>
|
||
<li><a href="#table-of-contents">Table of Contents</a></li>
|
||
<li><a href="#specifications">Specifications</a></li>
|
||
<li><a href="#foundations">Foundations</a></li>
|
||
<li><a href="#communities">Communities</a></li>
|
||
<li><a href="#meetups">Meetups</a></li>
|
||
<li><a href="#implementations">Implementations</a>
|
||
<ul>
|
||
<li><a href="#javascripttypescript">JavaScript/TypeScript</a>
|
||
<ul>
|
||
<li><a href="#clients">Clients</a>
|
||
<ul>
|
||
<li><a href="#frontend-framework-integrations">Frontend Framework
|
||
Integrations</a>
|
||
<ul>
|
||
<li><a href="#react">React</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#servers">Servers</a>
|
||
<ul>
|
||
<li><a href="#databases--orms">Databases & ORMs</a></li>
|
||
<li><a href="#pubsub">PubSub</a></li>
|
||
</ul></li>
|
||
<li><a href="#custom-scalars">Custom Scalars</a></li>
|
||
<li><a href="#type">Type</a></li>
|
||
<li><a href="#miscellaneous">Miscellaneous</a></li>
|
||
<li><a href="#javascript-examples">JavaScript Examples</a></li>
|
||
<li><a href="#typescript-examples">TypeScript Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#ruby">Ruby</a>
|
||
<ul>
|
||
<li><a href="#ruby-examples">Ruby Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#php">PHP</a>
|
||
<ul>
|
||
<li><a href="#php-examples">PHP Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#python">Python</a>
|
||
<ul>
|
||
<li><a href="#python-examples">Python Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#java">Java</a>
|
||
<ul>
|
||
<li><a href="#custom-scalars-1">Custom Scalars</a></li>
|
||
<li><a href="#java-examples">Java Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#kotlin">Kotlin</a>
|
||
<ul>
|
||
<li><a href="#kotlin-examples">Kotlin Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#cc">C/C++</a></li>
|
||
<li><a href="#go">Go</a>
|
||
<ul>
|
||
<li><a href="#go-examples">Go Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#scala">Scala</a>
|
||
<ul>
|
||
<li><a href="#scala-examples">Scala Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#net">.NET</a>
|
||
<ul>
|
||
<li><a href="#net-examples">.NET Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#elixir">Elixir</a>
|
||
<ul>
|
||
<li><a href="#elixir-examples">Elixir Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#haskell">Haskell</a></li>
|
||
<li><a href="#sql">SQL</a></li>
|
||
<li><a href="#lua">Lua</a></li>
|
||
<li><a href="#elm">Elm</a></li>
|
||
<li><a href="#clojure">Clojure</a>
|
||
<ul>
|
||
<li><a href="#clojure-examples">Clojure Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#swift">Swift</a></li>
|
||
<li><a href="#ocaml">OCaml</a></li>
|
||
<li><a href="#android">Android</a>
|
||
<ul>
|
||
<li><a href="#android-examples">Android Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#ios">iOS</a>
|
||
<ul>
|
||
<li><a href="#ios-examples">iOS Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#clojurescript">ClojureScript</a></li>
|
||
<li><a href="#reasonml">ReasonML</a></li>
|
||
<li><a href="#dart">Dart</a></li>
|
||
<li><a href="#rust">Rust</a>
|
||
<ul>
|
||
<li><a href="#rust-examples">Rust Examples</a></li>
|
||
</ul></li>
|
||
<li><a href="#d-dlang">D (dlang)</a></li>
|
||
<li><a href="#r-rstat">R (Rstat)</a></li>
|
||
<li><a href="#julia">Julia</a></li>
|
||
<li><a href="#crystal">Crystal</a></li>
|
||
<li><a href="#ballerina">Ballerina</a>
|
||
<ul>
|
||
<li><a href="#ballerina-samples">Ballerina Samples</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#tools">Tools</a>
|
||
<ul>
|
||
<li><a href="#tools---editors--ides--explorers">Tools - Editors &
|
||
IDEs & Explorers</a></li>
|
||
<li><a href="#tools---testing">Tools - Testing</a></li>
|
||
<li><a href="#tools---security">Tools - Security</a></li>
|
||
<li><a href="#tools---browser-extensions">Tools - Browser
|
||
Extensions</a></li>
|
||
<li><a href="#tools---prototyping">Tools - Prototyping</a></li>
|
||
<li><a href="#tools---docs">Tools - Docs</a></li>
|
||
<li><a href="#tools---editor-plugins">Tools - Editor Plugins</a></li>
|
||
<li><a href="#tools---miscellaneous">Tools - Miscellaneous</a></li>
|
||
</ul></li>
|
||
<li><a href="#databases">Databases</a></li>
|
||
<li><a href="#services">Services</a>
|
||
<ul>
|
||
<li><a href="#cdn">CDN</a></li>
|
||
<li><a href="#cms">CMS</a></li>
|
||
</ul></li>
|
||
<li><a href="#books">Books</a></li>
|
||
<li><a href="#videos">Videos</a></li>
|
||
<li><a href="#podcasts">Podcasts</a></li>
|
||
<li><a href="#style-guides">Style Guides</a></li>
|
||
<li><a href="#blogs">Blogs</a>
|
||
<ul>
|
||
<li><a href="#blogs---security">Blogs - Security</a></li>
|
||
</ul></li>
|
||
<li><a href="#posts">Posts</a></li>
|
||
<li><a href="#tutorials">Tutorials</a></li>
|
||
<li><a href="#license">License</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
<!-- /MarkdownTOC -->
|
||
<p><a name="spec" /></p>
|
||
<h2 id="specifications">Specifications</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/graphql/graphql-spec">GraphQL</a> -
|
||
Working draft of the specification for GraphQL.</li>
|
||
<li><a href="https://github.com/graphql/graphql-over-http">GraphQL over
|
||
HTTP</a> - Working draft of “GraphQL over HTTP” specification.</li>
|
||
<li><a
|
||
href="https://relay.dev/docs/guides/graphql-server-specification/">GraphQL
|
||
Relay</a> - Relay-compliant GraphQL server specification.</li>
|
||
<li><a href="https://github.com/opencrud/opencrud">OpenCRUD</a> -
|
||
OpenCRUD is a GraphQL CRUD API specification for databases.</li>
|
||
<li><a
|
||
href="https://www.apollographql.com/docs/federation/federation-spec/">Apollo
|
||
Federation</a> - Apollo Federation specification</li>
|
||
<li><a href="https://gabotechs.github.io/graphqxl/">GraphQXL</a> -
|
||
GraphQXL is an extension of the GraphQL language with some additional
|
||
features that help creating big and scalable server-side schemas.</li>
|
||
<li><a href="https://www.graphql-scalars.com/">GraphQL Scalars</a> -
|
||
hosts community defined custom Scalar specifications for use with <span
|
||
class="citation" data-cites="specifiedBy">@specifiedBy</span>.</li>
|
||
</ul>
|
||
<p><a name="foundation" /></p>
|
||
<h2 id="foundations">Foundations</h2>
|
||
<ul>
|
||
<li><a href="https://graphql.org/foundation/">GraphQL Foundation</a> -
|
||
GraphQL Foundation under the Linux Foundation</li>
|
||
</ul>
|
||
<p><a name="community" /></p>
|
||
<h2 id="communities">Communities</h2>
|
||
<ul>
|
||
<li><a href="https://discord.graphql.org/">Discord - GraphQL</a> -
|
||
Official GraphQL.org discord channel.</li>
|
||
<li><a href="https://www.graphqlweekly.com/">GraphQL Weekly</a> - A
|
||
weekly newsletter highlighting resources and news from the GraphQL
|
||
community.</li>
|
||
<li><a href="https://community.apollographql.com/">Apollo GraphQL
|
||
Community</a> - Connect with other developers and share knowledge about
|
||
every part of the Apollo GraphQL platform.</li>
|
||
<li><a href="http://join.reactiflux.com/">Discord - Reactiflux</a> -
|
||
Join <code>#help-graphql</code> on the Reactiflux Discord server.</li>
|
||
<li><a
|
||
href="https://www.facebook.com/groups/795330550572866/">Facebook</a> -
|
||
Group for discussions, articles and knowledge sharing.</li>
|
||
<li><a href="https://twitter.com/search?q=%23GraphQL">Twitter</a> - Use
|
||
the hashtag <code>#graphql</code>.</li>
|
||
<li><a
|
||
href="https://stackoverflow.com/questions/tagged/graphql">StackOverflow</a>
|
||
- Questions and answers. Use the tag <code>graphql</code>.</li>
|
||
<li><a href="https://github.com/APIs-guru/graphql-apis">GraphQL APIs</a>
|
||
- A collective list of public GraphQL APIs.</li>
|
||
<li><a href="https://old.reddit.com/r/graphql/">/r/GraphQL</a> - A
|
||
Subreddit for interesting and informative GraphQL content and
|
||
discussions.</li>
|
||
<li><a href="https://graphql.jobs">GraphQL Jobs</a> - A list of
|
||
GraphQL-based jobs in startups all over the world.</li>
|
||
<li><a href="https://www.codever.land/search?q=graphql">Codever</a> -
|
||
Dev bookmarks. Use the tag <a
|
||
href="https://www.codever.land/bookmarks/t/graphql">graphql</a>.</li>
|
||
</ul>
|
||
<p><a name="meetup" /></p>
|
||
<h2 id="meetups">Meetups</h2>
|
||
<ul>
|
||
<li><a href="https://relaymeetup.com/">Relay Meetup</a> - A global,
|
||
online meetup on Relay, the GraphQL client.</li>
|
||
<li><a
|
||
href="https://www.meetup.com/Amsterdam-GraphQL-Meetup/">Amsterdam</a></li>
|
||
<li><a
|
||
href="https://www.meetup.com/graphql-bangalore/">Bangalore</a></li>
|
||
<li><a href="https://www.meetup.com/graphql-berlin/">Berlin</a></li>
|
||
<li><a href="https://www.meetup.com/es-ES/GraphQL-BA/">Buenos
|
||
Aires</a></li>
|
||
<li><a
|
||
href="https://www.meetup.com/Copenhagen-GraphQL-Meetup-Group/">Copenhagen</a></li>
|
||
<li><a href="https://www.meetup.com/DFW-GraphQL-Meetup/">Dallas-Fort
|
||
Worth</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-Hamburg/">Hamburg</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-London/">London</a></li>
|
||
<li><a
|
||
href="https://www.meetup.com/GraphQL-Melbourne/">Melbourne</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-Munich/">Munich</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-NYC/">New York City</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-SF/">San Francisco</a></li>
|
||
<li><a href="https://www.meetup.com/Seattle-GraphQL/">Seattle</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-Sydney/">Sydney</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-TLV/">Tel Aviv</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-Wroclaw/">Wrocław</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-SG/">Singapore</a></li>
|
||
<li><a href="https://www.meetup.com/GraphQL-Zurich/">Zurich</a></li>
|
||
</ul>
|
||
<p><a name="impl" /></p>
|
||
<h2 id="implementations">Implementations</h2>
|
||
<p><a name="js" /></p>
|
||
<h3 id="javascripttypescript">JavaScript/TypeScript</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/graphql/graphql-js">graphql-js</a> - A
|
||
reference implementation of GraphQL for JavaScript.</li>
|
||
<li><a
|
||
href="https://github.com/zalando-incubator/graphql-jit">graphql-jit</a>
|
||
- GraphQL execution using a JIT compiler.</li>
|
||
</ul>
|
||
<h4 id="clients">Clients</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/apollographql/apollo-client">apollo-client</a>
|
||
- A fully-featured, production ready caching GraphQL client for every UI
|
||
framework and GraphQL server.</li>
|
||
<li><a
|
||
href="https://github.com/prisma-labs/graphql-request">graphql-request</a>
|
||
- A minimal GraphQL client for Node and browsers.</li>
|
||
<li><a
|
||
href="https://graphql-code-generator.com/docs/plugins/typescript-graphql-request">typescript-graphql-request</a>
|
||
- Use GraphQL Request as a fully typed SDK.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-editor/graphql-zeus">graphql-zeus</a> -
|
||
GraphQL Zeus creates autocomplete client library for
|
||
<code>JavaScript</code> or <code>TypeScript</code> which provides
|
||
autocompletion for strongly typed queries.</li>
|
||
<li><a href="https://github.com/hasura/graphqurl">graphqurl</a> - curl
|
||
for GraphQL with autocomplete, subscriptions and GraphiQL. Also a
|
||
dead-simple universal javascript GraphQL client.</li>
|
||
<li><a href="https://github.com/aws-amplify/amplify-js">aws-amplify</a>
|
||
- A client library developed by Amazon for caching, analytics and more
|
||
that includes a way to fetch GraphQL queries.</li>
|
||
<li><a href="https://github.com/gqty-dev/gqty">gqty</a> - A No GraphQL
|
||
client for TypeScript</li>
|
||
<li><a href="https://github.com/remorses/genql">genql</a> - Type safe
|
||
TypeScript client for any GraphQL API.</li>
|
||
</ul>
|
||
<h5 id="frontend-framework-integrations">Frontend Framework
|
||
Integrations</h5>
|
||
<ul>
|
||
<li><a href="https://github.com/vuejs/vue-apollo">vue-apollo</a> -
|
||
Apollo/GraphQL integration for VueJS.</li>
|
||
<li><a
|
||
href="https://github.com/kamilkisiela/apollo-angular">apollo-angular</a>
|
||
- A fully-featured, production ready caching GraphQL client for Angular
|
||
and every GraphQL server.</li>
|
||
<li><a href="https://github.com/timhall/svelte-apollo">svelte-apollo</a>
|
||
- Svelte integration for Apollo GraphQL.</li>
|
||
<li><a
|
||
href="https://github.com/ember-graphql/ember-apollo-client">ember-apollo-client</a>
|
||
- An ember-cli addon for Apollo Client and GraphQL.</li>
|
||
<li><a
|
||
href="https://github.com/apollo-elements/apollo-elements">apollo-elements</a>
|
||
- GraphQL web components that work in any frontend framework.</li>
|
||
<li><a href="https://github.com/jycouet/kitql">sveltekit-kitql</a> - A
|
||
set of tools, helping you building efficient apps in a fast way with
|
||
SvelteKit and GraphQL.</li>
|
||
</ul>
|
||
<h6 id="react">React</h6>
|
||
<ul>
|
||
<li><a href="https://www.apollographql.com/docs/react/">react-apollo</a>
|
||
- The core <span class="citation"
|
||
data-cites="apollo/client">@apollo/client</span> library provides
|
||
built-in integration with React.</li>
|
||
<li><a href="https://github.com/facebook/relay">relay</a> - Relay is a
|
||
JavaScript framework for building data-driven React applications.</li>
|
||
<li><a href="https://github.com/FormidableLabs/urql">urql</a> - A simple
|
||
caching GraphQL client for React.</li>
|
||
<li><a
|
||
href="https://github.com/nearform/graphql-hooks">graphql-hooks</a> -
|
||
Minimal hooks-first GraphQL client with caching and server-side
|
||
rendering support.</li>
|
||
<li><a href="https://github.com/mobxjs/mst-gql">mst-gql</a> - Bindings
|
||
for mobx-state-tree and GraphQL.</li>
|
||
<li><a
|
||
href="https://github.com/arackaf/micro-graphql-react">micro-graphql-react</a>
|
||
- 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.</li>
|
||
<li><a href="https://github.com/gqty-dev/gqty"><span class="citation"
|
||
data-cites="gqty/react">@gqty/react</span></a> - A No GraphQL client for
|
||
TypeScript</li>
|
||
</ul>
|
||
<h4 id="servers">Servers</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/apollographql/apollo-server">apollo-server</a>
|
||
- 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.</li>
|
||
<li><a
|
||
href="https://github.com/SimonDegraeve/hapi-graphql">hapi-graphql</a> -
|
||
Create a GraphQL HTTP server with Hapi.</li>
|
||
<li><a
|
||
href="https://github.com/rse/hapi-plugin-graphiql">hapi-plugin-graphiql</a>
|
||
- HAPI plugin for GraphiQL integration.</li>
|
||
<li><a
|
||
href="https://github.com/jaydenseric/graphql-api-koa">graphql-api-koa</a>
|
||
- GraphQL Koa middleware that implements GraphQL.js from scratch and
|
||
supports native ESM.</li>
|
||
<li><a href="https://github.com/chentsulin/koa-graphql">koa-graphql</a>
|
||
- GraphQL Koa Middleware.</li>
|
||
<li><a
|
||
href="https://github.com/ryanhs/graphql-koa-scripts">graphql-koa-scripts</a>
|
||
- GraphQL Koa 1 file simplified. usefull for quick test</li>
|
||
<li><a href="https://github.com/deno-libs/gql">gql</a> - Universal
|
||
GraphQL HTTP middleware for Deno.</li>
|
||
<li><a href="https://github.com/mercurius-js/mercurius">mercurius</a> -
|
||
GraphQL plugin for Fastify.</li>
|
||
<li><a
|
||
href="https://github.com/prisma-labs/graphql-yoga">graphql-yoga</a> -
|
||
Fully-featured GraphQL Server with focus on easy setup, performance and
|
||
great developer experience.</li>
|
||
<li><a href="https://github.com/graphitejs/server">graphitejs</a> -
|
||
Framework NodeJS for GraphQL.</li>
|
||
<li><a
|
||
href="https://github.com/contrawork/graphql-helix">graphql-helix</a> - A
|
||
highly evolved GraphQL HTTP Server.</li>
|
||
</ul>
|
||
<h5 id="databases-orms">Databases & ORMs</h5>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/mickhansen/graphql-sequelize">graphql-sequelize</a>
|
||
- Sequelize helpers for GraphQL.</li>
|
||
<li><a
|
||
href="https://github.com/brysgo/graphql-bookshelf">graphql-bookshelf</a>
|
||
- Some help defining GraphQL schema around BookshelfJS models.</li>
|
||
<li><a href="https://github.com/acarl005/join-monster">join-monster</a>
|
||
- A GraphQL-to-SQL query execution layer for batch data fetching.</li>
|
||
</ul>
|
||
<h5 id="pubsub">PubSub</h5>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.npmjs.com/package/graphql-ably-pubsub">graphql-ably-pubsub</a>
|
||
- Ably PubSub implementation for GraphQL to publish mutation updates and
|
||
subscribe to the result through a subscription query.</li>
|
||
</ul>
|
||
<h4 id="custom-scalars">Custom Scalars</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/Urigo/graphql-scalars">graphql-scalars</a> - A
|
||
library of custom GraphQL Scalars for creating precise type-safe GraphQL
|
||
schemas.</li>
|
||
</ul>
|
||
<h4 id="type">Type</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/19majkel94/type-graphql">type-graphql</a> -
|
||
Create GraphQL schema and resolvers with TypeScript, using classes and
|
||
decorators!</li>
|
||
<li><a href="https://github.com/graphql-nexus/nexus">graphql-nexus</a> -
|
||
Code-First, Type-Safe, GraphQL Schema Construction.</li>
|
||
<li><a
|
||
href="https://github.com/dotansimha/graphql-code-generator">graphql-code-generator</a>:
|
||
GraphQL code generator with flexible support for custom plugins and
|
||
templates like TypeScript (frontend and backend), React Hooks, resolvers
|
||
signatures and more.</li>
|
||
<li><a href="https://github.com/hayes/pothos">pothos</a> - Pothos is a
|
||
plugin based GraphQL schema builder for typescript. It makes building
|
||
graphql schemas in typescript easy, fast and enjoyable.</li>
|
||
<li><a href="https://github.com/stepci/garph">garph</a> - Garph is
|
||
full-stack framework for building type-safe GraphQL APIs in
|
||
TypeScript.</li>
|
||
<li><a href="https://github.com/idurar/fast-graphql">fast-graphql</a> -
|
||
Graphql Tools to Structure, Combine Resolvers and Merge Schema
|
||
Definitions for Node.js, Next.Js and Graphql Apollo server</li>
|
||
<li><a
|
||
href="https://github.com/lkster/graphql-to-type">graphql-to-type</a> -
|
||
GraphQL query parser written entirely in TypeScript’s type system for
|
||
creating interfaces based on provided query</li>
|
||
<li><a href="https://github.com/0no-co/gql.tada">gql.tada</a> - GraphQL
|
||
document authoring library, inferring the result and variables types of
|
||
GraphQL queries and fragments in the TypeScript type system.</li>
|
||
</ul>
|
||
<h4 id="miscellaneous">Miscellaneous</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/apollographql/graphql-tools">graphql-tools</a>
|
||
- Tool library for building and maintaining GraphQL-JS servers.</li>
|
||
<li><a
|
||
href="https://github.com/apollographql/graphql-tag">graphql-tag</a> - A
|
||
JavaScript template literal tag that parses GraphQL queries.</li>
|
||
<li><a href="https://github.com/KunalSin9h/load-gql">load-gql</a> - A
|
||
tiny, zero dependency GraphQL schema loader from files and folders.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-compose/graphql-compose">graphql-compose</a>
|
||
- Tool which allows you to construct flexible graphql schema from
|
||
different data sources via plugins.</li>
|
||
<li><a
|
||
href="https://github.com/Urigo/graphql-modules">graphql-modules</a> -
|
||
Separate GraphQL server into smaller, reusable parts by modules or
|
||
features.</li>
|
||
<li><a
|
||
href="https://github.com/maticzav/graphql-shield">graphql-shield</a> - A
|
||
library that helps creating a permission layer for a graphql api.</li>
|
||
<li><a
|
||
href="https://github.com/omar-dulaimi/graphql-shield-generator">graphql-shield-generator</a>
|
||
- Emits a GraphQL Shield from your GraphQL schema.</li>
|
||
<li><a
|
||
href="https://github.com/oslabs-beta/GraphQL-Gate">graphqlgate</a> - A
|
||
GraphQL rate-limiting library with query complexity analysis for
|
||
Node.js</li>
|
||
<li><a href="https://github.com/piglovesyou/graphql-let">graphql-let</a>
|
||
- A webpack loader to import type-protected codegen results directly
|
||
from GraphQL documents</li>
|
||
<li><a
|
||
href="https://github.com/kamilkisiela/graphql-config">graphql-config</a>
|
||
- One configuration for all your GraphQL tools (supported by most tools,
|
||
editors & IDEs).</li>
|
||
<li><a href="https://github.com/urigo/graphql-cli">graphql-cli</a> - A
|
||
command line tool for common GraphQL development workflows.</li>
|
||
<li><a
|
||
href="https://github.com/ardatan/graphql-toolkit">graphql-toolkit</a> -
|
||
A set of utils for faster development of GraphQL tools (Schema and
|
||
documents loading, Schema merging and more).</li>
|
||
<li><a href="https://github.com/urigo/graphql-mesh">graphql-mesh</a> -
|
||
use GraphQL query language to access data in remote APIs that don’t run
|
||
GraphQL (and also ones that do run GraphQL).</li>
|
||
<li><a href="https://github.com/Urigo/sofa">sofa</a> - Generate REST API
|
||
from your GraphQL API.</li>
|
||
<li><a href="https://github.com/aerogear/graphback">graphback</a> -
|
||
Framework and CLI to add a GraphQLCRUD API layer to a GraphQL server
|
||
using data models.</li>
|
||
<li><a
|
||
href="https://github.com/maticzav/graphql-middleware">graphql-middleware</a>
|
||
- Split up your GraphQL resolvers in middleware functions.</li>
|
||
<li><a
|
||
href="https://github.com/graphql/graphql-relay-js">graphql-relay-js</a>
|
||
- A library to help construct a graphql-js server supporting
|
||
react-relay.</li>
|
||
<li><a
|
||
href="https://github.com/monojack/graphql-normalizr">graphql-normalizr</a>
|
||
- Normalize GraphQL responses for persisting in the client
|
||
cache/state.</li>
|
||
<li><a
|
||
href="https://github.com/ooflorent/babel-plugin-graphql">babel-plugin-graphql</a>
|
||
- Babel plugin that compile GraphQL tagged template strings.</li>
|
||
<li><a
|
||
href="https://github.com/apollographql/eslint-plugin-graphql">eslint-plugin-graphql</a>
|
||
- An ESLint plugin that checks your GraphQL strings against a
|
||
schema.</li>
|
||
<li><a href="https://github.com/enisdenjo/graphql-ws">graphql-ws</a> -
|
||
Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol
|
||
compliant server and client.</li>
|
||
<li><a
|
||
href="https://github.com/n1ru4l/graphql-live-query">graphql-live-query</a>
|
||
- Realtime GraphQL Live Queries with JavaScript.</li>
|
||
<li><a href="https://github.com/Comcast/graphvinci">GraphVinci</a> - An
|
||
interactive schema visualizer for GraphQL APIs.</li>
|
||
<li><a
|
||
href="https://github.com/alexstrat/supertest-graphql">supertest-graphql</a>
|
||
- Extends <a
|
||
href="https://github.com/visionmedia/supertest">supertest</a> to easily
|
||
test a GraphQL endpoint</li>
|
||
<li><a
|
||
href="https://github.com/schemathesis/schemathesis">schemathesis</a> -
|
||
Runs arbitrary queries matching a GraphQL schema to find server
|
||
errors.</li>
|
||
<li><a
|
||
href="https://github.com/anvilco/graphql-introspection-tools">microfiber</a>
|
||
- Query and manipulate GraphQL introspection query results in useful
|
||
ways.</li>
|
||
<li><a
|
||
href="https://github.com/Escape-Technologies/graphql-armor">graphql-armor</a>
|
||
- An instant security layer for production GraphQL Endpoints.</li>
|
||
<li><a
|
||
href="https://github.com/Escape-Technologies/goctopus">goctopus</a> - an
|
||
incredibly fast GraphQL discovery & fingerprinting toolbox.</li>
|
||
<li><a
|
||
href="https://github.com/confuser/graphql-constraint-directive">GraphQL
|
||
Constraint Directive</a> - Allows using <span class="citation"
|
||
data-cites="constraint">@constraint</span> as a directive to validate
|
||
input data. Inspired by Constraints Directives RFC and OpenAPI</li>
|
||
<li><a
|
||
href="https://github.com/ktutnik/graphql-directive/tree/master/packages/validator">Validator.js
|
||
Wrapper Directive</a> - A comprehensive list of validator directive
|
||
wraps Validator.js functionalities</li>
|
||
<li><a href="https://github.com/wundergraph/cosmo">WunderGraph Cosmo</a>
|
||
- The Open-Source GraphQL Federation Solution with Full Lifecycle API
|
||
Management for (Federated) GraphQL. Schema Registry, composition checks,
|
||
analytics, metrics, tracing and routing.</li>
|
||
<li><a
|
||
href="https://github.com/wundergraph/graphql-go-tools">graphql-go-tools</a>
|
||
- A graphQL Router / API Gateway framework written in Golang, focussing
|
||
on correctness, extensibility, and high-performance. Supports Federation
|
||
v1 & v2, Subscriptions & more.</li>
|
||
</ul>
|
||
<p><a name="js-example" /></p>
|
||
<h4 id="javascript-examples">JavaScript Examples</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/kriasoft/react-starter-kit">React
|
||
Starter Kit</a> - front-end starter kit using React, Relay, GraphQL, and
|
||
JAM stack architecture.</li>
|
||
<li><a href="https://github.com/graphql/swapi-graphql">SWAPI GraphQL
|
||
Wrapper</a> - A GraphQL schema and server wrapping SWAPI.</li>
|
||
<li><a href="https://github.com/taion/relay-todomvc">Relay TodoMVC</a> -
|
||
Relay TodoMVC with routing.</li>
|
||
<li><a href="https://www.apollographql.com/docs/react">Apollo Client
|
||
documentation</a> - Documentation and example for building GraphQL apps
|
||
using apollo client.</li>
|
||
<li><a href="https://www.apollographql.com/docs/apollo-server/">Apollo
|
||
Server tools documentation</a> - Documentation, tutorial and examples
|
||
for building GraphQL server and connecting to SQL, MongoDB and REST
|
||
endpoints.</li>
|
||
<li><a href="https://github.com/fbsamples/f8app">F8 App 2017</a> -
|
||
Source code of the official F8 app of 2016, powered by React Native and
|
||
other Facebook open source projects.</li>
|
||
<li><a
|
||
href="https://github.com/katopz/react-apollo-graphql-github-example">Apollo
|
||
React example for Github GraphQL API</a> - Usage Examples Apollo React
|
||
for Github GraphQL API with create-react-app.</li>
|
||
<li><a
|
||
href="https://github.com/zeit/next.js/tree/canary/examples/with-typescript-graphql">Next.js
|
||
TypeScript and GraphQL Example</a> - A type-protected GraphQL example on
|
||
Next.js running <a
|
||
href="https://graphql-code-generator.com/">graphql-codegen</a> under the
|
||
hood</li>
|
||
<li><a href="https://stackblitz.com/fork/graphql">GraphQL StackBlitz
|
||
Starter</a> – A live, editable demo spinning up in about 2 seconds and
|
||
running in a browser.</li>
|
||
<li><a href="https://github.com/alan345/naperg">NAPERG</a> - Fullstack
|
||
Boilerplate GraphQL. Made with React & Prisma + authentication &
|
||
roles.</li>
|
||
<li><a href="http://vulcanjs.org">VulcanJS</a> - The full-stack
|
||
React+GraphQL framework</li>
|
||
<li><a href="https://github.com/sly777/ran">RAN Toolkit</a> -
|
||
Production-ready toolkit/boilerplate with support for GraphQL, SSR,
|
||
Hot-reload, CSS-in-JS, caching, and more.</li>
|
||
</ul>
|
||
<p><a name="ts-example" /></p>
|
||
<h4 id="typescript-examples">TypeScript Examples</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/kriasoft/nodejs-api-starter">Node.js API
|
||
Starter</a> - Yarn v2 based monorepo template (code-first GraphQL API,
|
||
PostgreSQL, PnP, Zero-install, serverless).</li>
|
||
<li><a
|
||
href="https://github.com/borisowsky/nextjs-apollo-ts-starter">Next.js
|
||
Apollo TypeScript Starter</a> - Next.js starter project focused on
|
||
developer experience.</li>
|
||
<li><a href="https://github.com/cerino-ligutom/GraphQL-Starter">GraphQL
|
||
Starter</a> - A boilerplate for TypeScript + Node Express + Apollo
|
||
GraphQL APIs.</li>
|
||
<li><a
|
||
href="https://github.com/setchy/apollo-server-3-mocked-federation">Mocked
|
||
Managed Federation - Apollo Server 3</a> - An example of how to mock a
|
||
managed federation Supgraph using Apollo Server 3.x</li>
|
||
<li><a
|
||
href="https://github.com/setchy/apollo-server-4-mocked-federation">Mocked
|
||
Managed Federation - Apollo Server 4</a> - An example of how to mock a
|
||
managed federation Supgraph using Apollo Server 4.x</li>
|
||
<li><a
|
||
href="https://github.com/idurar/starter-advanced-graphql-crud-next-js-mongodb">Next.js
|
||
Advanced Graphql Crud MongoDB Starter</a> - Starter Generic CRUD with
|
||
Advanced Apollo Graphql server with Next.js and Mongodb
|
||
(TypeScript)</li>
|
||
</ul>
|
||
<p><a name="rb" /></p>
|
||
<h3 id="ruby">Ruby</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/rmosolgo/graphql-ruby">graphql-ruby</a>
|
||
- Ruby implementation of Facebook’s GraphQL.</li>
|
||
<li><a href="https://github.com/Shopify/graphql-batch">graphql-batch</a>
|
||
- A query batching executor for the graphql gem.</li>
|
||
<li><a href="https://github.com/o2web/graphql-auth">graphql-auth</a> - A
|
||
JWT auth wrapper working with devise.</li>
|
||
<li><a href="https://github.com/ohler55/agoo">agoo</a> - Ruby web server
|
||
that implements Facebook’s GraphQL.</li>
|
||
<li><a href="https://github.com/contentful-labs/gqli.rb">GQLi</a> - A
|
||
GraphQL client and DSL. Allowing to write queries in native Ruby.</li>
|
||
</ul>
|
||
<p><a name="rb-example" /></p>
|
||
<h4 id="ruby-examples">Ruby Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/rmosolgo/graphql-ruby-demo">graphql-ruby-demo</a>
|
||
- Use graphql-ruby to expose a Rails app.</li>
|
||
<li><a
|
||
href="https://github.com/github/github-graphql-rails-example">github-graphql-rails-example</a>
|
||
- Example Rails app using GitHub’s GraphQL API.</li>
|
||
<li><a
|
||
href="https://github.com/nethsix/relay-on-rails">relay-on-rails</a> -
|
||
Barebones starter kit for Relay application with Rails GraphQL
|
||
server.</li>
|
||
<li><a
|
||
href="https://github.com/gauravtiwari/relay-rails-blog">relay-rails-blog</a>
|
||
- A graphql, relay and standard rails application powered demo
|
||
weblog.</li>
|
||
<li><a href="https://github.com/jcdavison/to_eat_app">to_eat_app</a> - A
|
||
sample graphql/rails/relay application with a related 3-part article
|
||
series.</li>
|
||
<li><a
|
||
href="https://github.com/ohler55/agoo/tree/develop/example/graphql">agoo-demo</a>
|
||
- Use of the Agoo server to demonstrate a simple GraphQL
|
||
application.</li>
|
||
<li><a
|
||
href="https://github.com/zauberware/rails-devise-graphql">rails-devise-graphql</a>
|
||
- A rails 6 boilerplate with devise, graphql & JWT auth.</li>
|
||
</ul>
|
||
<p><a name="php" /></p>
|
||
<h3 id="php">PHP</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/webonyx/graphql-php">graphql-php</a> - A
|
||
PHP port of GraphQL reference implementation.</li>
|
||
<li><a
|
||
href="https://github.com/ivome/graphql-relay-php">graphql-relay-php</a>
|
||
- Relay helpers for webonyx/graphql-php implementation of GraphQL.</li>
|
||
<li><a href="https://github.com/nuwave/lighthouse">lighthouse</a> - A
|
||
PHP package that allows to serve a GraphQL endpoint from your Laravel
|
||
application.</li>
|
||
<li><a
|
||
href="https://github.com/rebing/graphql-laravel">graphql-laravel</a> -
|
||
Laravel wrapper for Facebook’s GraphQL.</li>
|
||
<li><a
|
||
href="https://github.com/overblog/GraphQLBundle">overblog/graphql-bundle</a>
|
||
- This bundle provides tools to build a complete GraphQL server in your
|
||
Symfony App. Supports react-relay.</li>
|
||
<li><a href="https://github.com/wp-graphql/wp-graphql">wp-graphql</a> -
|
||
GraphQL API for WordPress.</li>
|
||
<li><a
|
||
href="https://github.com/thecodingmachine/graphqlite">graphqlite</a> -
|
||
Framework agnostic library that allows you to write GraphQL server by
|
||
annotating your PHP classes.</li>
|
||
<li><a href="https://github.com/leocavalcante/siler">siler</a> -
|
||
Plain-old functions providing a declarative API for GraphQL servers with
|
||
Subscriptions support.</li>
|
||
<li><a
|
||
href="https://github.com/dpauli/php-graphql-request-builder">graphql-request-builder</a>
|
||
- Builds request payload in GraphQL structure.</li>
|
||
<li><a href="https://www.drupal.org/project/graphql">drupal/graphql</a>
|
||
- Craft and expose a GraphQL schema for Drupal 8+.</li>
|
||
</ul>
|
||
<p><a name="php-example" /></p>
|
||
<h4 id="php-examples">PHP Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/leocavalcante/siler/tree/main/examples/graphql">siler-graphgl</a>
|
||
- An example GraphQL server written with Siler.</li>
|
||
</ul>
|
||
<p><a name="py" /></p>
|
||
<h3 id="python">Python</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/tryolabs/graphql-parser">graphql-parser</a> -
|
||
GraphQL parser for Python.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-python/graphql-core">graphql-core</a> -
|
||
GraphQL implementation for Python based on GraphQL.js v16.3.0 reference
|
||
implementation</li>
|
||
<li><a
|
||
href="https://github.com/graphql-python/graphql-relay-py">graphql-relay-py</a>
|
||
- A library to help construct a graphql-py server supporting
|
||
react-relay.</li>
|
||
<li><a
|
||
href="https://github.com/tallstreet/graphql-parser-python">graphql-parser-python</a>
|
||
- A python wrapper around libgraphqlparser.</li>
|
||
<li><a href="https://github.com/graphql-python/graphene">graphene</a> -
|
||
A package for creating GraphQL schemas/types in a Pythonic easy
|
||
way.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-python/graphene-gae">graphene-gae</a> -
|
||
Adds GraphQL support to Google AppEngine (GAE).</li>
|
||
<li><a
|
||
href="https://github.com/GraphQL-python-archive/django-graphiql">django-graphiql</a>
|
||
- Integrate GraphiQL easily into your Django project.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-python/flask-graphql">flask-graphql</a>
|
||
- Adds GraphQL support to your Flask application.</li>
|
||
<li><a
|
||
href="https://github.com/prisma/python-graphql-client">python-graphql-client</a>
|
||
- Simple GraphQL client for Python 2.7+</li>
|
||
<li><a
|
||
href="https://github.com/healx/python-graphjoiner">python-graphjoiner</a>
|
||
- Create GraphQL APIs using joins, SQL or otherwise.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-python/graphene-django">graphene-django</a>
|
||
- A Django integration for Graphene.</li>
|
||
<li><a
|
||
href="https://github.com/callsign-viper/Flask-GraphQL-Auth">Flask-GraphQL-Auth</a>
|
||
- An authentication library for Flask inspired from
|
||
flask-jwt-extended.</li>
|
||
<li><a href="https://github.com/dailymotion/tartiflette">tartiflette</a>
|
||
- GraphQL Implementation, SDL First, for python 3.6+ / asyncio.</li>
|
||
<li><a
|
||
href="https://github.com/dailymotion/tartiflette-aiohttp">tartiflette-aiohttp</a>
|
||
- Wrapper of Tartiflette to expose GraphQL API over HTTP based on
|
||
aiohttp / 3.6+ / asyncio, <a
|
||
href="https://tartiflette.io/docs/tutorial/getting-started">official
|
||
tutorial available on tartiflette.io</a>.</li>
|
||
<li><a href="https://github.com/mirumee/ariadne">Ariadne</a> - library
|
||
for implementing GraphQL servers using schema-first approach.
|
||
Asynchronous query execution, batteries included for ASGI, WSGI and
|
||
popular webframeworks, <a href="https://ariadnegraphql.org">fully
|
||
documented</a>.</li>
|
||
<li><a
|
||
href="https://github.com/PedroBern/django-graphql-auth">django-graphql-auth</a>
|
||
- Django registration and authentication with GraphQL.</li>
|
||
<li><a
|
||
href="https://github.com/strawberry-graphql/strawberry">strawberry</a> -
|
||
A new GraphQL library for Python.</li>
|
||
<li><a href="https://github.com/jhnnsrs/turms">turms</a> - A pythonic
|
||
graphql codegenerator built around graphql-core and pydantic</li>
|
||
<li><a href="https://github.com/jhnnsrs/rath">rath</a> - An apollo like
|
||
graphql client with async and sync interface</li>
|
||
<li><a href="https://github.com/profusion/sgqlc">sgqlc</a> - Simple
|
||
GraphQL Client makes working with GraphQL API responses easier in
|
||
Python.</li>
|
||
</ul>
|
||
<p><a name="py-example" /></p>
|
||
<h4 id="python-examples">Python Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/graphql-python/swapi-graphene">swapi-graphene</a>
|
||
- A GraphQL schema and server using <a
|
||
href="https://graphene-python.org">Graphene</a>.</li>
|
||
<li><a
|
||
href="https://hasura.io/learn/graphql/backend-stack/languages/python/">Python
|
||
Backend Tutorial</a> - A tutorial on creating a GraphQL server with <a
|
||
href="https://strawberry.rocks/">Strawberry</a> and a client with <a
|
||
href="https://qlient-org.github.io/python-qlient/site/">Qlient</a>.</li>
|
||
</ul>
|
||
<p><a name="java" /></p>
|
||
<h3 id="java">Java</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/graphql-java/graphql-java">graphql-java</a> -
|
||
GraphQL Java implementation.</li>
|
||
<li><a href="https://github.com/Netflix/dgs-framework">DGS Framework</a>
|
||
- A GraphQL server framework for Spring Boot, developed by Netflix.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java-generator">graphql-java-generator</a>
|
||
- A <a
|
||
href="https://github.com/graphql-java-generator/graphql-maven-plugin-project">Maven
|
||
plugin</a> and a <a
|
||
href="https://github.com/graphql-java-generator/graphql-gradle-plugin-project">Gradle
|
||
plugin</a> that can generate both the <strong>Client</strong> and the
|
||
<strong>Server</strong> (POJOs and utility classes). The server part is
|
||
based on graphql-java, and hides all its boilerplate codes.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java/graphql-java-type-generator">gaphql-java-type-generator</a>
|
||
- Auto-generates types for use with GraphQL Java</li>
|
||
<li><a
|
||
href="https://github.com/bpatters/schemagen-graphql">schemagen-graphql</a>
|
||
- 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.</li>
|
||
<li><a
|
||
href="https://github.com/Enigmatis/graphql-java-annotations">graphql-java-annotations</a>
|
||
- Provides annotations-based syntax for schema definition with GraphQL
|
||
Java.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java-kickstart/graphql-java-tools">graphql-java-tools</a>
|
||
- Schema-first graphql-java convenience library that makes it easy to
|
||
bring your own implementations as data resolvers. Inspired by <a
|
||
href="https://github.com/apollographql/graphql-tools">graphql-tools</a>
|
||
for JS.</li>
|
||
<li><a
|
||
href="https://github.com/kobylynskyi/graphql-java-codegen-maven-plugin">graphql-java-codegen-maven-plugin</a>
|
||
- Schema-first maven plugin for generating Java types and Resolver
|
||
interfaces. Works perfectly in conjunction with graphql-java-tools.
|
||
Inspired by <a
|
||
href="https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin">swagger-codegen-maven-plugin</a>.</li>
|
||
<li><a
|
||
href="https://github.com/kobylynskyi/graphql-java-codegen-gradle-plugin">graphql-java-codegen-gradle-plugin</a>
|
||
- Schema-first gradle plugin for generating Java types and Resolver
|
||
interfaces. Works perfectly in conjunction with graphql-java-tools.
|
||
Inspired by <a
|
||
href="https://github.com/int128/gradle-swagger-generator-plugin">gradle-swagger-generator-plugin</a>.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java-kickstart/graphql-java-servlet">graphql-java-servlet</a>
|
||
- A framework-agnostic java servlet for exposing graphql-java query
|
||
endpoints with GET, POST, and multipart uploads.</li>
|
||
<li><a
|
||
href="https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-graphql">manifold-graphql</a>
|
||
- Comprehensive GraphQL client use. Schema-first. Type-safe GraphQL
|
||
types, queries, and results, no code generators, no POJOs, no
|
||
annotations. Excellent <a
|
||
href="http://manifold.systems/images/graphql.mp4">IDE support</a> with
|
||
IntelliJ IDEA and Android Studio. See the <a href="#example-java">Java
|
||
example</a> below.</li>
|
||
<li><a
|
||
href="https://github.com/oembedler/spring-graphql-common">spring-graphql-common</a>
|
||
- Spring Framework GraphQL Library.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java-kickstart/graphql-spring-boot">graphql-spring-boot</a>
|
||
- GraphQL and GraphiQL Spring Framework Boot Starters.</li>
|
||
<li><a
|
||
href="https://github.com/engagingspaces/vertx-graphql-service-discovery">vertx-graphql-service-discovery</a>
|
||
- Asynchronous GraphQL service discovery and querying for your
|
||
microservices.</li>
|
||
<li><a
|
||
href="https://github.com/engagingspaces/vertx-dataloader">vertx-dataloader</a>
|
||
- Port of Facebook DataLoader for efficient, asynchronous batching and
|
||
caching in clustered GraphQL environments.</li>
|
||
<li><a href="https://github.com/leangen/GraphQL-SPQR">graphql-spqr</a> -
|
||
Java 8+ API for rapid development of GraphQL services.</li>
|
||
<li><a href="https://github.com/networknt/light-graphql-4j">Light Java
|
||
GraphQL</a>: A lightweight, fast microservices framework with all
|
||
cross-cutting concerns addressed and ready to plug in GraphQL
|
||
schema.</li>
|
||
<li><a href="https://elide.io">Elide</a>: A Java library that can expose
|
||
a JPA annotated data model as a GraphQL service over any relational
|
||
database.</li>
|
||
<li><a
|
||
href="https://github.com/apollographql/federation-jvm">federation-jvm</a>
|
||
- Apollo Federation on the JVM.</li>
|
||
<li><a
|
||
href="https://github.com/graph-quilt/graphql-orchestrator-java">graphql-orchestrator-java</a>
|
||
GraphQL Orchestrator/Gateway library that supports Schema Stitching and
|
||
Apollo Federation directives to combine schema from multiple GraphQL
|
||
microservices into a single unified schema.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java/graphql-java-extended-validation">graphql-java-extended-validation</a>
|
||
- Provides extended validation of fields and field arguments for
|
||
graphql-java.</li>
|
||
<li><a
|
||
href="https://github.com/setchy/dgs-extended-formatters">dgs-extended-formatters</a>
|
||
- An experimental set of DGS Directives for common formatting
|
||
use-cases.</li>
|
||
</ul>
|
||
<h4 id="custom-scalars-1">Custom Scalars</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/donbeave/graphql-java-datetime">graphql-java-datetime</a>
|
||
- GraphQL ISO Date is a set of RFC 3339 compliant date/time scalar types
|
||
to be used with graphql-java.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java/graphql-java-extended-scalars">graphql-java-extended-scalars</a>
|
||
- Extended scalars for graphql-java.</li>
|
||
</ul>
|
||
<p><a name="java-example" /></p>
|
||
<h4 id="java-examples">Java Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/networknt/light-example-4j/tree/master/graphql">light-java-graphql
|
||
examples</a> - Examples of Light Java GraphQL and tutorials.</li>
|
||
<li><a
|
||
href="https://github.com/leangen/graphql-spqr-samples">graphql-spqr-samples</a>
|
||
- An example GraphQL server written with Spring MVC and
|
||
GraphQL-SPQR.</li>
|
||
<li><a
|
||
href="https://github.com/manifold-systems/manifold-sample-graphql-app">manifold-graphql
|
||
sample</a> - A simple application, both client and server, demonstrating
|
||
the Manifold GraphQL library.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-java-kickstart/samples">graphql-java-kickstart_samples</a>
|
||
- Samples for using the GraphQL Java Kickstart projects.</li>
|
||
<li><a
|
||
href="https://github.com/setchy/graphql-java-kickstart-federation-example">graphql-java-kickstart-federation-example</a>
|
||
- A GraphQL Java Kickstart federation example.</li>
|
||
<li><a
|
||
href="https://github.com/Netflix/dgs-federation-example">dgs-federation-example</a>
|
||
- A Netflix DGS federation example.</li>
|
||
<li><a
|
||
href="https://hasura.io/learn/graphql/backend-stack/languages/java/">Spring
|
||
Boot backend tutorial</a> - A tutorial creating a GraphQL server and
|
||
client using Spring Boot and Netflix DGS.</li>
|
||
</ul>
|
||
<p><a name="kotlin" /></p>
|
||
<h3 id="kotlin">Kotlin</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/ExpediaGroup/graphql-kotlin">graphql-kotlin</a>
|
||
- GraphQL Kotlin implementation.</li>
|
||
<li><a
|
||
href="https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-graphql">manifold-graphql</a>
|
||
- Comprehensive GraphQL client use. Schema-first. Type-safe GraphQL
|
||
types, queries, and results, no code generators, no POJOs, no
|
||
annotations. Excellent <a
|
||
href="http://manifold.systems/images/graphql.mp4">IDE support</a> with
|
||
IntelliJ IDEA and Android Studio. See the <a
|
||
href="#example-kotlin">Kotlin example</a> below.</li>
|
||
<li><a href="https://github.com/aPureBase/KGraphQL">KGraphQL</a>: Pure
|
||
Kotlin implementation to setup a GraphQL server.</li>
|
||
<li><a href="https://github.com/ermadmi78/kobby">Kobby</a> - Codegen
|
||
plugin of <a
|
||
href="https://blog.kotlin-academy.com/how-to-generate-kotlin-dsl-client-by-graphql-schema-707fd0c55284">Kotlin
|
||
DSL Client</a> by GraphQL schema. The generated DSL supports execution
|
||
of complex GraphQL queries, mutation and subscriptions in Kotlin with
|
||
syntax similar to native GraphQL syntax.</li>
|
||
<li><a href="https://github.com/cufyorg/graphkt">Graphkt</a> - A DSL
|
||
based graphql server library for kotlin, backed by graphql-java.</li>
|
||
</ul>
|
||
<p><a name="kotlin-example" /></p>
|
||
<h4 id="kotlin-examples">Kotlin Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/manifold-systems/manifold-sample-kotlin-app">manifold-graphql
|
||
sample</a> - A simple GraphQL application, both client and server,
|
||
demonstrating the Manifold GraphQL library with Kotlin.</li>
|
||
</ul>
|
||
<p><a name="c" /></p>
|
||
<h3 id="cc">C/C++</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/graphql/libgraphqlparser">libgraphqlparser</a>
|
||
- A GraphQL query parser in C++ with C and C++ APIs.</li>
|
||
<li><a href="https://github.com/ohler55/agoo-c">agoo-c</a> - A high
|
||
performance GraphQL server written in C. <a
|
||
href="https://github.com/the-benchmarker/graphql-benchmarks">benchmarks</a></li>
|
||
<li><a
|
||
href="https://github.com/Microsoft/cppgraphqlgen">cppgraphqlgen</a> -
|
||
C++ GraphQL schema service generator.</li>
|
||
<li><a href="https://github.com/caffeinetv/CaffQL">CaffQL</a> -
|
||
Generates C++ client types and request/response serialization from a
|
||
GraphQL introspection query.</li>
|
||
</ul>
|
||
<p><a name="go" /></p>
|
||
<h3 id="go">Go</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/graphql-go/graphql">graphql</a> - An
|
||
implementation of GraphQL for Go follows graphql-js</li>
|
||
<li><a href="https://github.com/graph-gophers/graphql-go">graphql-go</a>
|
||
- GraphQL server with a focus on ease of use.</li>
|
||
<li><a href="https://github.com/99designs/gqlgen">gqlgen</a> - Go
|
||
generate based graphql server library.</li>
|
||
<li><a href="https://github.com/graphql-go/relay">graphql-relay-go</a> -
|
||
A Go/Golang library to help construct a server supporting
|
||
react-relay.</li>
|
||
<li><a href="https://github.com/dosco/graphjin">graphjin</a>: Build APIs
|
||
in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.</li>
|
||
<li><a
|
||
href="https://github.com/wundergraph/graphql-go-tools">graphql-go-tools</a>
|
||
- A graphQL Router / API Gateway framework written in Golang, focussing
|
||
on correctness, extensibility, and high-performance. Supports Federation
|
||
v1 & v2, Subscriptions & more.</li>
|
||
</ul>
|
||
<p><a name="go-example" /></p>
|
||
<h4 id="go-examples">Go Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/sogko/golang-relay-starter-kit">golang-relay-starter-kit</a>
|
||
- Barebones starting point for a Relay application with Golang GraphQL
|
||
server.</li>
|
||
<li><a
|
||
href="https://github.com/sogko/todomvc-relay-go">todomvc-relay-go</a> -
|
||
Port of the React/Relay TodoMVC app, driven by a Golang GraphQL
|
||
backend.</li>
|
||
<li><a
|
||
href="https://github.com/ccamel/go-graphql-subscription-example">go-graphql-subscription-example</a>
|
||
- A GraphQL schema and server that demonstrates GraphQL <a
|
||
href="https://github.com/apollographql/subscriptions-transport-ws/blob/v0.9.4/PROTOCOL.md">subscriptions</a>
|
||
(over Websocket) to consume <a href="https://kafka.apache.org/">Apache
|
||
Kafka</a> messages.</li>
|
||
<li><a
|
||
href="https://hasura.io/learn/graphql/backend-stack/languages/go/">Go
|
||
Backend Tutorial</a> - A tutorial showing how to make a Go GraphQL
|
||
server and client using code generation.</li>
|
||
</ul>
|
||
<p><a name="scala" /></p>
|
||
<h3 id="scala">Scala</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/sangria-graphql/sangria">sangria</a> -
|
||
Scala GraphQL server implementation.</li>
|
||
<li><a
|
||
href="https://github.com/sangria-graphql/sangria-relay">sangria-relay</a>
|
||
- Sangria Relay Support.</li>
|
||
<li><a href="https://github.com/ghostdogpr/caliban">caliban</a> -
|
||
Caliban is a purely functional library for creating GraphQL backends in
|
||
Scala.</li>
|
||
</ul>
|
||
<p><a name="scala-example" /></p>
|
||
<h4 id="scala-examples">Scala Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/sangria-graphql/sangria-akka-http-example">sangria-akka-http-example</a>
|
||
- An example GraphQL server written with akka-http and <a
|
||
href="https://sangria-graphql.github.io/">sangria</a></li>
|
||
<li><a
|
||
href="https://github.com/sangria-graphql/sangria-playground">sangria-playground</a>
|
||
- An example of GraphQL server written with Play and sangria.</li>
|
||
</ul>
|
||
<p><a name="dotnet" /></p>
|
||
<h3 id="net">.NET</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/graphql-dotnet/graphql-dotnet">graphql-dotnet</a>
|
||
- GraphQL for .NET.</li>
|
||
<li><a href="https://github.com/ckimes89/graphql-net">graphql-net</a> -
|
||
GraphQL to IQueryable for .NET.</li>
|
||
<li><a href="https://github.com/ChilliCream/hotchocolate">Hot
|
||
Chocolate</a> - GraphQL server for .Net Core and .NET Framework.</li>
|
||
<li><a href="https://github.com/Zaid-Ajaj/Snowflaqe">Snowflaqe</a> -
|
||
Type-safe GraphQL code generator for F# and <a
|
||
href="https://github.com/fable-compiler/Fable">Fable</a></li>
|
||
<li><a
|
||
href="https://github.com/EntityGraphQL/EntityGraphQL">EntityGraphQL</a>
|
||
- 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.</li>
|
||
<li><a href="https://github.com/byme8/ZeroQL">ZeroQL</a> - type-safe
|
||
GraphQL client with Linq-like interface for C#</li>
|
||
</ul>
|
||
<p><a name="net-example" /></p>
|
||
<h4 id="net-examples">.NET Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://hasura.io/learn/graphql/backend-stack/languages/dotnet/">.NET
|
||
backend tutorial</a> - A tutorial creating a GraphQL server and client
|
||
with .NET.</li>
|
||
</ul>
|
||
<p><a name="elixir" /></p>
|
||
<h3 id="elixir">Elixir</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/absinthe-graphql/absinthe">absinthe-graphql</a>
|
||
- Fully Featured Elixir GraphQL Library.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-elixir/graphql">graphql-elixir</a> -
|
||
GraphQL Elixir. (No longer maintained)</li>
|
||
<li><a
|
||
href="https://github.com/graphql-elixir/plug_graphql">plug_graphql</a> -
|
||
Plug integration for GraphQL Elixir.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-elixir/graphql_relay">graphql_relay</a>
|
||
- Relay helpers for GraphQL Elixir.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-elixir/graphql_parser">graphql_parser</a>
|
||
- Elixir bindings for <a
|
||
href="https://github.com/graphql/libgraphqlparser">libgraphqlparser</a></li>
|
||
<li><a href="https://github.com/asonge/graphql">graphql</a> - Elixir
|
||
GraphQL parser.</li>
|
||
<li><a href="https://github.com/peburrows/plot">plot</a> - GraphQL
|
||
parser and resolver for Elixir.</li>
|
||
</ul>
|
||
<p><a name="elixir-example" /></p>
|
||
<h4 id="elixir-examples">Elixir Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/graphql-elixir/hello_graphql_phoenix">hello_graphql_phoenix</a>
|
||
- Examples of GraphQL Elixir Plug endpoints mounted in Phoenix</li>
|
||
</ul>
|
||
<p><a name="haskell" /></p>
|
||
<h3 id="haskell">Haskell</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/jdnavarro/graphql-haskell">graphql-haskell</a>
|
||
- GraphQL AST and parser for Haskell.</li>
|
||
<li><a
|
||
href="https://github.com/morpheusgraphql/morpheus-graphql">morpheus-graphql</a>
|
||
- Haskell GraphQL Api, Client and Tools.</li>
|
||
</ul>
|
||
<p><a name="sql" /></p>
|
||
<h3 id="sql">SQL</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/solidsnack/GraphpostgresQL">GraphpostgresQL</a>
|
||
- GraphQL for Postgres.</li>
|
||
<li><a
|
||
href="https://github.com/rexxars/sql-to-graphql">sql-to-graphql</a> -
|
||
Generate a GraphQL API based on your SQL database structure.</li>
|
||
<li><a href="https://github.com/graphile/postgraphile">PostGraphile</a>
|
||
- Lightning-fast GraphQL APIs for PostgreSQL: highly customisable;
|
||
extensible via plugins; realtime.</li>
|
||
<li><a href="https://github.com/hasura/graphql-engine">Hasura</a> -
|
||
Hasura gives Instant Realtime GraphQL APIs over PostgreSQL. Works with
|
||
an existing database too.</li>
|
||
<li><a href="https://subzero.cloud/">subZero</a> - GraphQL & REST
|
||
API for your database</li>
|
||
</ul>
|
||
<p><a name="lua" /></p>
|
||
<h3 id="lua">Lua</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/bjornbytes/graphql-lua">graphql-lua</a>
|
||
- GraphQL for Lua.</li>
|
||
</ul>
|
||
<p><a name="elm" /></p>
|
||
<h3 id="elm">Elm</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/dillonkearns/elm-graphql">elm-graphql</a> -
|
||
GraphQL for Elm.</li>
|
||
</ul>
|
||
<p><a name="clojure" /></p>
|
||
<h3 id="clojure">Clojure</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/tendant/graphql-clj">graphql-clj</a> - A
|
||
Clojure library designed to provide GraphQL implementation.</li>
|
||
<li><a href="https://github.com/walmartlabs/lacinia">Lacinia</a> -
|
||
GraphQL implementation in pure Clojure.</li>
|
||
<li><a
|
||
href="https://github.com/district0x/graphql-query">graphql-query</a> -
|
||
Clojure(Script) GraphQL query generation.</li>
|
||
</ul>
|
||
<p><a name="clojure-example" /></p>
|
||
<h4 id="clojure-examples">Clojure Examples</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/walmartlabs/clojure-game-geek">Clojure
|
||
Game Geek</a> - Example code for the Lacinia GraphQL framework
|
||
tutorial.</li>
|
||
</ul>
|
||
<p><a name="swift" /></p>
|
||
<h3 id="swift">Swift</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/GraphQLSwift/GraphQL">GraphQL</a> - The
|
||
Swift implementation for GraphQL.</li>
|
||
</ul>
|
||
<p><a name="ocaml" /></p>
|
||
<h3 id="ocaml">OCaml</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/andreas/ocaml-graphql-server">ocaml-graphql-server</a>
|
||
- GraphQL servers in OCaml.</li>
|
||
</ul>
|
||
<p><a name="android" /></p>
|
||
<h3 id="android">Android</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/apollographql/apollo-android">apollo-android</a>
|
||
- 📟 A strongly-typed, caching GraphQL client for Android, written in
|
||
Java.</li>
|
||
<li><a
|
||
href="https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-graphql">manifold-graphql</a>
|
||
- Comprehensive GraphQL client use. Schema-first. Type-safe GraphQL
|
||
types, queries, and results, no code generators, no POJOs, no
|
||
annotations. Excellent <a
|
||
href="http://manifold.systems/images/graphql.mp4">IDE support</a> with
|
||
IntelliJ IDEA and Android Studio. See the <a href="#example-java">Java
|
||
example</a> below.</li>
|
||
</ul>
|
||
<p><a name="android-example" /></p>
|
||
<h4 id="android-examples">Android Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/rnitame/apollo-frontpage-android-app">apollo-frontpage-android-app</a>
|
||
- 📄 Apollo “hello world” app, for Android.</li>
|
||
</ul>
|
||
<p><a name="ios" /></p>
|
||
<h3 id="ios">iOS</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/apollographql/apollo-ios">apollo-ios</a>
|
||
- 📱 A strongly-typed, caching GraphQL client for iOS, written in
|
||
Swift.</li>
|
||
<li><a
|
||
href="https://github.com/manicmaniac/ApolloDeveloperKit">ApolloDeveloperKit</a>
|
||
- Apollo Client Devtools bridge for [Apollo iOS].</li>
|
||
<li><a
|
||
href="https://github.com/nerdsupremacist/Graphaello">Graphaello</a> -
|
||
Type Safe GraphQL directly from SwiftUI.</li>
|
||
<li><a href="https://graphqlite.com/sdk-ios">GQLite iOS SDK</a> - GQLite
|
||
iOS SDK is a toolkit to work with GraphQL servers easily.</li>
|
||
</ul>
|
||
<p><a name="ios-example" /></p>
|
||
<h4 id="ios-examples">iOS Examples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/apollographql/frontpage-ios-app">frontpage-ios-app</a>
|
||
- 📄 Apollo “hello world” app, for iOS.</li>
|
||
</ul>
|
||
<p><a name="clojurescript" /></p>
|
||
<h3 id="clojurescript">ClojureScript</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/oliyh/re-graph">re-graph</a> - A GraphQL
|
||
client for ClojureScript with bindings for re-frame applications.</li>
|
||
<li><a
|
||
href="https://github.com/district0x/graphql-query">graphql-query</a> -
|
||
Clojure(Script) GraphQL query generation.</li>
|
||
</ul>
|
||
<p><a name="reasonml" /></p>
|
||
<h3 id="reasonml">ReasonML</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/apollographql/reason-apollo">reason-apollo</a>
|
||
- ReasonML binding for Apollo Client.</li>
|
||
<li><a href="https://github.com/sainthkh/reasonql">ReasonQL</a> -
|
||
Type-safe and simple GraphQL Client for ReasonML developers.</li>
|
||
<li><a
|
||
href="https://github.com/FormidableLabs/reason-urql">reason-urql</a> -
|
||
ReasonML binding for urql Client.</li>
|
||
</ul>
|
||
<p><a name="dart" /></p>
|
||
<h3 id="dart">Dart</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/zino-app/graphql-flutter">graphql-flutter</a> -
|
||
A GraphQL client for Flutter.</li>
|
||
<li><a href="https://github.com/comigor/artemis">Artemis</a> - A GraphQL
|
||
type and query generator for Dart/Flutter.</li>
|
||
</ul>
|
||
<p><a name="rust" /></p>
|
||
<h3 id="rust">Rust</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/async-graphql/async-graphql">async-graphql</a>
|
||
- High-performance server-side library that supports all GraphQL
|
||
specifications.</li>
|
||
<li><a href="https://github.com/graphql-rust/juniper">juniper</a> -
|
||
GraphQL server library for Rust.</li>
|
||
<li><a
|
||
href="https://github.com/tomhoule/graphql-client">graphql-client</a> -
|
||
GraphQL client library for Rust with WebAssembly (wasm) support.</li>
|
||
<li><a
|
||
href="https://github.com/graphql-rust/graphql-parser">graphql-parser</a>
|
||
- A parser, formatter and AST for the GraphQL query and schema
|
||
definition language for Rust.</li>
|
||
<li><a href="https://github.com/tailcallhq/tailcall">tailcall</a> - A
|
||
platform for building high-performance GraphQL backends.</li>
|
||
</ul>
|
||
<p><a name="rust-example" /></p>
|
||
<h4 id="rust-examples">Rust Examples</h4>
|
||
<ul>
|
||
<li><a href="https://graphql-rust.github.io/">Warp GraphQL
|
||
Juniper</a></li>
|
||
<li><a
|
||
href="https://tailcall.run/docs/getting_started/configuration">Tailcall</a></li>
|
||
</ul>
|
||
<p><a name="d" /></p>
|
||
<h3 id="d-dlang">D (dlang)</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/burner/graphqld">graphqld</a> - GraphQL
|
||
server library for D.</li>
|
||
</ul>
|
||
<p><a name="r" /></p>
|
||
<h3 id="r-rstat">R (Rstat)</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/ropensci/ghql">ghql</a> - General
|
||
purpose GraphQL R client.</li>
|
||
<li><a href="https://github.com/ropensci/graphql">graphql</a> - Bindings
|
||
to the ‘libgraphqlparser’ C++ library. Parses GraphQL syntax and exports
|
||
the AST in JSON format.</li>
|
||
<li><a href="https://github.com/schloerke/gqlr">gqlr</a> - R GraphQL
|
||
Implementation.</li>
|
||
</ul>
|
||
<p><a name="julia" /></p>
|
||
<h3 id="julia">Julia</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/codeneomatrix/Diana.jl">Diana.jl</a> - A
|
||
Julia GraphQL client/server implementation.</li>
|
||
<li><a
|
||
href="https://github.com/DeloitteDigitalAPAC/GraphQLClient.jl">GraphQLClient.jl</a>
|
||
- A Julia GraphQL client for seamless integration with a server.</li>
|
||
</ul>
|
||
<p><a name="crystal" /></p>
|
||
<h3 id="crystal">Crystal</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/graphql-crystal/graphql">graphql</a> -
|
||
GraphQL server library.</li>
|
||
<li><a
|
||
href="https://github.com/ziprandom/graphql-crystal">graphql-crystal</a>
|
||
- library inspired by <a
|
||
href="https://github.com/rmosolgo/graphql-ruby">graphql-ruby</a> &
|
||
<a href="https://github.com/playlyfe/go-graphql">go-graphql</a> & <a
|
||
href="https://github.com/graphql-dotnet/parser">graphql-parser</a>.</li>
|
||
<li><a href="https://github.com/itsezc/crystal-gql">crystal-gql</a> -
|
||
GraphQL client shard inspired by Apollo client.</li>
|
||
<li><a href="https://github.com/garymardell/graphql.cr">graphql.cr</a> -
|
||
GraphQL shard.</li>
|
||
</ul>
|
||
<h3 id="ballerina">Ballerina</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/ballerina-platform/module-ballerina-graphql">graphql</a>
|
||
- Ballerina standard library for GraphQL. This library provides a
|
||
GraphQL client and server implementations including builtin support for
|
||
GraphQL subscriptions.</li>
|
||
<li><a
|
||
href="https://github.com/ballerina-platform/graphql-tools">graphql
|
||
CLI</a> - 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.</li>
|
||
</ul>
|
||
<h4 id="ballerina-samples">Ballerina Samples</h4>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/ballerina-platform/module-ballerina-graphql/tree/master/examples">Ballerina
|
||
GraphQL Examples</a></li>
|
||
<li><a
|
||
href="https://github.com/ThisaruGuruge/weather-rest-api-to-graphql">Convert
|
||
Weather REST API to GraphQL API</a></li>
|
||
</ul>
|
||
<p><a name="tools" /></p>
|
||
<h2 id="tools">Tools</h2>
|
||
<h3 id="tools---editors-ides-explorers">Tools - Editors & IDEs &
|
||
Explorers</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/graphql/graphiql">GraphiQL</a> - An
|
||
in-browser IDE for exploring GraphQL.</li>
|
||
<li><a href="https://github.com/graphql-editor/graphql-editor">GraphQL
|
||
Editor</a> - Visual Editor & GraphQL IDE.</li>
|
||
<li><a href="https://github.com/APIs-guru/graphql-voyager">GraphQL
|
||
Voyager</a> - Represent any GraphQL API as an interactive graph.</li>
|
||
<li><a href="https://github.com/altair-graphql/altair">Altair GraphQL
|
||
Client</a> - A beautiful feature-rich GraphQL Client for all
|
||
platforms.</li>
|
||
<li><a href="https://github.com/networkimprov/brangr">Brangr</a> - A
|
||
unique, user-friendly data browser/viewer for any GraphQL service, with
|
||
attractive result layouts.</li>
|
||
<li><a href="https://insomnia.rest/">Insomnia</a> - A full-featured API
|
||
client with first-party GraphQL query editor.</li>
|
||
<li><a
|
||
href="https://learning.postman.com/docs/sending-requests/supported-api-frameworks/graphql/">Postman</a>
|
||
- An HTTP Client that supports editing GraphQL queries.</li>
|
||
<li><a href="https://github.com/usebruno/bruno">Bruno</a> - Fast, open
|
||
source API client, which stores collections offline-only in a
|
||
Git-friendly plain text markup language.</li>
|
||
<li><a href="https://github.com/Escape-Technologies/graphman">Escape
|
||
GraphMan</a> - Generate a complete Postman collection from a GraphQL
|
||
endpoint.</li>
|
||
<li><a href="https://sandbox.apollo.dev/">Apollo Sandbox</a> - The
|
||
quickest way to navigate and test your GraphQL endpoints.</li>
|
||
<li><a href="https://github.com/Novvum/graphql-birdseye">GraphQL
|
||
Birdseye</a> – View any GraphQL schema as a dynamic and interactive
|
||
graph.</li>
|
||
<li><a href="https://astexplorer.net/">AST Explorer</a> - Select
|
||
“GraphQL” at the top, explore the GraphQL AST and highlight different
|
||
parts by clicking in the query.</li>
|
||
<li><a href="https://firecamp.io/graphql">Firecamp - GraphQL
|
||
Playground</a> - The fastest collaborative GraphQL playground.</li>
|
||
<li><a href="https://github.com/yamafaktory/craftql">CraftQL</a> - A CLI
|
||
tool to visualize GraphQL schemas and to output a graph data structure
|
||
as a graphviz .dot format.</li>
|
||
<li><a href="https://github.com/eerimoq/gqt">gqt</a> - Build and execute
|
||
GraphQL queries in the terminal.</li>
|
||
<li><a href="https://graphproxy.com/">Graph Proxy</a> - Graph Proxy
|
||
detects and displays all GraphQL network traffic.</li>
|
||
</ul>
|
||
<p><a name="tool-testing" /></p>
|
||
<h3 id="tools---testing">Tools - Testing</h3>
|
||
<ul>
|
||
<li><a href="https://stepci.com">Step CI</a> - Open-Source API Testing
|
||
and Monitoring with GraphQL support</li>
|
||
<li><a
|
||
href="https://github.com/wbaldoumas/graphql-to-karate">graphql-to-karate</a>
|
||
- Generate Karate API tests from your GraphQL schemas</li>
|
||
</ul>
|
||
<p><a name="tool-security" /></p>
|
||
<h3 id="tools---security">Tools - Security</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/gsmith257-cyber/GraphCrawler">GraphCrawler -
|
||
The all-in-one GraphQL Security toolkit</a> - The all-in-one automated
|
||
penetration tester toolkit for GraphQL, written in Python</li>
|
||
<li><a href="https://graphql.security/">Escape - The GraphQL Security
|
||
Scanner</a> - One-click security scan of your GraphQL endpoints. Free,
|
||
no login required.</li>
|
||
<li><a href="https://github.com/Escape-Technologies/graphinder">Escape
|
||
Graphinder - GraphQL Subdomain Enumeration</a> – Blazing fast GraphQL
|
||
endpoints finder using subdomain enumeration, scripts analysis and
|
||
bruteforce.</li>
|
||
<li><a
|
||
href="https://www.stackhawk.com/blog/automated-graphql-security-testing">StackHawk
|
||
- GraphQL Vulnerability Scanner</a> - <a
|
||
href="https://www.stackhawk.com">StackHawk</a></li>
|
||
<li><a
|
||
href="https://www.tinfoilsecurity.com/blog/graphql-security-scanning">Tinfoil
|
||
Security - GraphQL Security Scanner</a> - <a
|
||
href="https://www.tinfoilsecurity.com/solutions/api-scanner">Tinfoil
|
||
Security</a></li>
|
||
<li><a href="https://github.com/doyensec/inql">InQL Scanner</a> - A Burp
|
||
Extension for GraphQL Security Testing</li>
|
||
<li><a
|
||
href="https://portswigger.net/bappstore/4841f0d78a554ca381c65b26d48207e6">GraphQL
|
||
Raider</a> <a href="https://portswigger.net/burp">BurpSuite</a></li>
|
||
<li><a href="https://lab.wallarm.com/api-security-solution/">WAF for
|
||
graphQL</a> - Web Application Firewall for graphQL APIs</li>
|
||
<li><a href="https://github.com/davinerd/gql_intruder">GraphQL
|
||
Intruder</a> - Plugin based python script to perform GraphQL
|
||
vulnerability assessment.</li>
|
||
<li><a href="https://github.com/dolevf/graphql-cop">GraphQL Cop</a> -
|
||
Security Audit Utility for GraphQL</li>
|
||
<li><a href="https://github.com/omar2535/GraphQLer">GraphQLer</a> -
|
||
Dependency-aware dynamic GraphQL testing tool</li>
|
||
</ul>
|
||
<h3 id="tools---browser-extensions">Tools - Browser Extensions</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/apollographql/apollo-client-devtools">Apollo
|
||
Client Developer Tools</a> - GraphQL debugging tools for Apollo Client
|
||
in the Chrome developer console</li>
|
||
<li><a
|
||
href="https://chrome.google.com/webstore/detail/graphql-network-inspector/ndlbedplllcgconngcnfmkadhokfaaln">GraphQL
|
||
Network Inspector</a> - A simple and clean chrome dev-tools extension
|
||
for GraphQL network inspection.</li>
|
||
</ul>
|
||
<h3 id="tools---prototyping">Tools - Prototyping</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/APIs-guru/graphql-faker">GraphQL
|
||
Faker</a> - 🎲 Mock or extend your GraphQL API with faked data. No
|
||
coding required.</li>
|
||
<li><a href="http://graphqldesigner.com/">GraphQL Designer</a> - A
|
||
developer’s web-app tool to rapidly prototype a full stack CRUD
|
||
implementation of GraphQL with React.</li>
|
||
</ul>
|
||
<h3 id="tools---docs">Tools - Docs</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/2fd/graphdoc">graphdoc</a> - Static page
|
||
generator for documenting GraphQL Schema.</li>
|
||
<li><a href="https://github.com/Code-Hex/gqldoc">gqldoc</a> - The
|
||
easiest way to make API documents for GraphQL.</li>
|
||
<li><a href="https://github.com/anvilco/spectaql">spectaql</a> -
|
||
Autogenerate static GraphQL API documentation.</li>
|
||
<li><a href="https://graphql-markdown.github.io/">graphql-markdown</a> -
|
||
Flexible documentation for GraphQL powered with Docusaurus.</li>
|
||
</ul>
|
||
<h3 id="tools---editor-plugins">Tools - Editor Plugins</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://marketplace.visualstudio.com/items?itemName=apollographql.vscode-apollo">Apollo
|
||
GraphQL VSCode Extension</a> - Rich editor support for GraphQL client
|
||
and server development that seamlessly integrates with the Apollo
|
||
platform</li>
|
||
<li><a
|
||
href="https://github.com/jimkyndemeyer/js-graphql-intellij-plugin/">js-graphql-intellij-plugin</a>
|
||
- GraphQL language support for IntelliJ IDEA and WebStorm, including
|
||
Relay.QL tagged templates in JavaScript and TypeScript.</li>
|
||
<li><a href="https://github.com/jparise/vim-graphql">vim-graphql</a> - A
|
||
Vim plugin that provides GraphQL file detection and syntax
|
||
highlighting.</li>
|
||
<li><a
|
||
href="https://marketplace.visualstudio.com/items?itemName=apollographql.apollo-workbench">Apollo
|
||
Workbench</a> - Tooling to help you develop and mock federated schemas
|
||
using Apollo Federation.</li>
|
||
<li><a
|
||
href="https://github.com/orionsoft/atom-graphql-autocomplete">graphql-autocomplete</a>
|
||
- Autocomplete and lint from a GraphQL endpoint in Atom.</li>
|
||
</ul>
|
||
<h3 id="tools---miscellaneous">Tools - Miscellaneous</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/dotansimha/graphql-code-generator">graphql-code-generator</a>
|
||
- GraphQL code generator based on schema and documents.</li>
|
||
<li><a
|
||
href="https://github.com/yarax/swagger-to-graphql">swagger-to-graphql</a>
|
||
- GraphQL types builder based on REST API described in Swagger. Allows
|
||
to migrate to GraphQL from REST for 5 minutes</li>
|
||
<li><a
|
||
href="https://github.com/Quramy/ts-graphql-plugin">ts-graphql-plugin</a>
|
||
- A language service plugin complete and validate GraphQL query in
|
||
TypeScript template strings.</li>
|
||
<li><a
|
||
href="https://github.com/apollographql/apollo-tracing">apollo-tracing</a>
|
||
- GraphQL extension that enables you to easily get resolver-level
|
||
performance information as part of a GraphQL response.</li>
|
||
<li><a
|
||
href="https://github.com/marmelab/json-graphql-server">json-graphql-server</a>
|
||
- Get a full fake GraphQL API with zero coding in less than 30 seconds,
|
||
based on a JSON data file.</li>
|
||
<li><a href="https://github.com/prisma/prisma">Prisma</a> - Turn your
|
||
database into a GraphQL API. Prisma lets you design your data model and
|
||
have a production ready GraphQL API online in minutes.</li>
|
||
<li><a href="https://github.com/twinlogix/typetta">Typetta</a> - Node.js
|
||
ORM written in TypeScript for type lovers. Typetta is the perfect ORM
|
||
for the GraphQL + NodeJS + Typescript stack.</li>
|
||
<li><a href="https://github.com/bradleyboy/tuql">tuql</a> -
|
||
Automatically create a GraphQL server from any sqlite database.</li>
|
||
<li><a href="https://github.com/teambit/bit">Bit</a> - Organize GraphQL
|
||
API as components to be consumed with NPM or modified from any project,
|
||
<a
|
||
href="https://hackernoon.com/make-your-graphql-api-easier-to-adopt-through-components-74b022f195c1">example-explanation</a>).</li>
|
||
<li><a
|
||
href="https://github.com/ibm/openapi-to-graphql">openapi-to-graphql</a>
|
||
- Take any OpenAPI Specification (OAS) or swagger and create a GraphQL
|
||
interface - Two minute video and resources <a
|
||
href="https://developer.ibm.com/open/projects/openapi-to-graphql/">here</a></li>
|
||
<li><a href="https://retool.com/">Retool</a> – Internal tools builder on
|
||
top of your GraphQL APIs + GraphQL IDE with a schema explorer.</li>
|
||
<li><a
|
||
href="https://github.com/Yelp/dataloader-codegen">dataloader-codegen</a>
|
||
- An opinionated JavaScript library for automatically generating
|
||
predictable, type safe DataLoaders over a set of resources (e.g. HTTP
|
||
endpoints).</li>
|
||
<li><a
|
||
href="https://github.com/kamilkisiela/graphql-inspector">raphql-inspector</a>:
|
||
alidate schema, get schema change notifications, validate operations,
|
||
find breaking changes, look for similar types, schema coverage.</li>
|
||
<li><a
|
||
href="https://github.com/amplication/amplication">amplication</a>:
|
||
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.</li>
|
||
<li><a href="https://github.com/blendbase/blendbase">Blendbase</a>:
|
||
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.</li>
|
||
<li><a
|
||
href="https://github.com/anvilco/graphql-introspection-tools">microfiber</a>
|
||
- Query and manipulate GraphQL introspection query results in useful
|
||
ways.</li>
|
||
<li><a href="https://www.illacloud.com/">ILLA Cloud</a> – Open-source
|
||
low-code tool building platform provides an easy way to integrate with
|
||
GraphQL with minimal configurations</li>
|
||
<li><a href="https://www.dronahq.com/">DronaHQ</a> - Build internal
|
||
tools, dashboards, admin panel on top of GraphQL data in minutes</li>
|
||
<li><a href="https://dynaboard.com">Dynaboard</a> - Generate low-code
|
||
web apps from any GraphQL API using AI. <a name="databases" /></li>
|
||
</ul>
|
||
<h2 id="databases">Databases</h2>
|
||
<ul>
|
||
<li><a href="https://cube.dev">Cube</a> - <a
|
||
href="https://cube.dev/blog/headless-bi">Headless BI</a> for building
|
||
data applications with SQL, REST, and <a
|
||
href="https://cube.dev/docs/backend/graphql">GraphQL API</a>. Connect
|
||
any database or data warehouse and instantly get a GraphQL API with
|
||
sub-second latency on top of it. - <a
|
||
href="https://github.com/cube-js/cube.js">Source Code</a></li>
|
||
<li><a href="https://dgraph.io/">Dgraph</a> - Scalable, distributed, low
|
||
latency, high throughput Graph database with GraphQL as the query
|
||
language</li>
|
||
<li><a href="https://edgedb.com/">EdgeDB</a> - The next generation
|
||
object-relational database with native GraphQL support.</li>
|
||
<li><a href="https://fauna.com">FaunaDB</a> - Relational NoSQL database
|
||
with <a
|
||
href="https://fauna.com/blog/getting-started-with-graphql-part-1-importing-and-querying-your-schema">GraphQL
|
||
schema import.</a> Supports joins, indexes, and multi-region ACID
|
||
transactions with serverless pay-per-use pricing.</li>
|
||
<li><a href="https://arangodb.com/">ArangoDB</a> - Native multi-model
|
||
database with <a
|
||
href="https://www.arangodb.com/docs/3.4/foxx-reference-modules-graph-ql.html">GraphQL
|
||
integration</a> via the built-in <a
|
||
href="https://www.arangodb.com/docs/stable/foxx.html">Foxx Microservices
|
||
Framework</a>.</li>
|
||
<li><a href="https://github.com/semi-technologies/weaviate">Weaviate</a>
|
||
- Weaviate is a cloud-native, modular, real-time vector search engine
|
||
with a <a
|
||
href="https://weaviate.io/developers/weaviate/api/graphql">GraphQL
|
||
interface</a> built to scale your machine learning models.</li>
|
||
<li><a href="https://www.lunasec.io/">LunaSec</a> - Key-Value Database
|
||
for encrypting/tokenizing sensitive data with <a
|
||
href="https://www.lunasec.io/docs/pages/getting-started/dedicated-tokenizer/graphql/">GraphQL
|
||
support</a> to authorize requests. - <a
|
||
href="https://github.com/lunasec-io/lunasec">Source Code</a></li>
|
||
</ul>
|
||
<p><a name="services" /></p>
|
||
<h2 id="services">Services</h2>
|
||
<ul>
|
||
<li><a href="https://aws.amazon.com/appsync/">AWS AppSync</a> - Scalable
|
||
managed GraphQL service with subscriptions for building real-time and
|
||
offline-first apps</li>
|
||
<li><a href="https://fakeql.com/">FakeQL</a> - GraphQL API mocking as a
|
||
service … because GraphQL API mocking should be easy!</li>
|
||
<li><a href="https://www.moesif.com/features/graphql-analytics">Moesif
|
||
API Analytics</a> - A GraphQL analaytics and monitoring service to find
|
||
functional and performance issues.</li>
|
||
<li><a href="https://booster.cloud/">Booster framework</a> - An
|
||
open-source framework that makes you <em>completely</em> 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.</li>
|
||
<li><a href="https://hypi.io/">Hypi</a> - Low-code, scalable, serverless
|
||
backend as a service. Your GraphQL & REST over GraphQL backend in
|
||
minutes.</li>
|
||
<li><a href="https://nhost.io/">Nhost</a> - Open source Firebase
|
||
alternative with GraphQL</li>
|
||
<li><a href="https://github.com/mirumee/saleor/">Saleor</a> -
|
||
GraphQL-first headless e-commerce platform.</li>
|
||
<li><a
|
||
href="https://stargate.io/docs/latest/quickstart/qs-graphql-cql-first.html">Stargate</a>
|
||
- Open source data gateway currently supporting Apache Cassandra® and
|
||
DataStax Enterprise.</li>
|
||
<li><a href="https://grafbase.com">Grafbase</a> - Instant GraphQL APIs
|
||
for any data source.</li>
|
||
</ul>
|
||
<h3 id="cdn">CDN</h3>
|
||
<ul>
|
||
<li><a href="https://graphcdn.io/">GraphCDN</a> - GraphQL CDN for
|
||
caching GraphQL APIs.</li>
|
||
</ul>
|
||
<h3 id="cms">CMS</h3>
|
||
<ul>
|
||
<li><a href="https://www.datocms.com/">DatoCMS</a> - CDN-based GraphQL
|
||
based Headless Content Management System.</li>
|
||
<li><a href="https://apito.io/">Apito</a> - A Cloud Based Headless CMS
|
||
with CDN, Webhooks, Team Collaborations, Content Revision, Cloud
|
||
Functions.</li>
|
||
<li><a href="https://hygraph.com/">Hygraph</a> - Build Scalable Content
|
||
Experiences.</li>
|
||
<li><a href="https://www.cosmicjs.com/">Cosmic</a> - GraphQL-powered
|
||
Headless CMS and API toolkit.</li>
|
||
<li><a href="https://graphweaver.com/">Graphweaver</a> - Turn multiple
|
||
datasources into a single GraphQL API.</li>
|
||
</ul>
|
||
<p><a name="book" /></p>
|
||
<h2 id="books">Books</h2>
|
||
<ul>
|
||
<li><a href="https://graphql.guide">The GraphQL Guide</a> by John Resig
|
||
and Loren Sands-Ramshaw</li>
|
||
<li><a
|
||
href="https://pragprog.com/book/wwgraphql/craft-graphql-apis-in-elixir-with-absinthe">Craft
|
||
GraphQL APIs in Elixir with Absinthe</a> by Bruce Williams and Ben
|
||
Wilson</li>
|
||
<li><a href="https://www.roadtographql.com/">The Road to
|
||
GraphQL</a></li>
|
||
<li><a
|
||
href="https://www.packtpub.com/web-development/learning-graphql-and-relay">Learning
|
||
GraphQL and Relay</a> by Samer Buna</li>
|
||
<li><a href="https://leanpub.com/book-graphql">Practical GraphQL</a> by
|
||
Daniel Schmitz</li>
|
||
<li><a href="https://book.productionreadygraphql.com">Production Ready
|
||
GraphQL</a> by Marc-André Giroux</li>
|
||
<li><a
|
||
href="https://www.manning.com/books/fullstack-graphql-applications">Full
|
||
Stack GraphQL Applications</a> by William Lyon</li>
|
||
</ul>
|
||
<p><a name="video" /></p>
|
||
<h2 id="videos">Videos</h2>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/watch?v=783ccP__No8">GraphQL: The
|
||
Documentary</a></li>
|
||
<li><a href="https://www.youtube.com/embed/UBGzsb2UkeY">Zero to GraphQL
|
||
in 30 Minutes</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=9sc8Pyc51uU">Data fetching
|
||
for React applications at Facebook</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=X6YbAKiLCLU">React Native
|
||
& Relay: Bringing Modern Web Techniques to Mobile</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=WQLzZf34FJ8">Exploring
|
||
GraphQL</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=gY48GW87Feo">Creating a
|
||
GraphQL Server</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=S0s935RKKB4">GraphQL at The
|
||
Financial Times</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=IrgHurBjQbg">Relay: An
|
||
Application Framework For React</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?t=643&v=Pxdgu2XIAAg">Building
|
||
and Deploying Relay with Facebook</a></li>
|
||
<li><a href="https://vimeo.com/144817545">Introduction to
|
||
GraphQL</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=_9RgHXqH8J0">Exploring
|
||
GraphQL@Scale</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=IMUpYOc9z3c&feature=youtu.be">What’s
|
||
Next for Phoenix by Chris McCord</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=Ed6oJXKt3-M">GraphQL with
|
||
Nick Schrock</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=DNPVqK_woRQ">Build a
|
||
GraphQL server for Node.js using PostgreSQL/MySQL</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=PHabPhgRUuU">GraphQL server
|
||
tutorial for Node.js with SQL, MongoDB and REST</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=ENqDNIp1Nd8">JavaScript Air
|
||
Episode 023: Transitioning from REST to GraphQL</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=ViXL0YQnioU">GraphQL Future
|
||
at react-europe 2016</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=etax3aEe2dA">GraphQL at
|
||
Facebook at react-europe 2016</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=z5rz3saDPJ8">Building
|
||
native mobile apps with GraphQL at react-europe 2016</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=PEcJxkylcRM&list=PLillGF-RfqbYZty73_PHBqKRDnv7ikh68">Build
|
||
a GraphQL Server</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=Y0lDGjwRYKw&list=PL4cUxeGkcC9iK6Qhn-QLcXCXPQUov1U7f">GraphQL
|
||
Tutorial</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=s8meG38iZAM">Five years of
|
||
GraphQL</a></li>
|
||
<li><a
|
||
href="https://moonhighway.teachable.com/p/graphql-is-for-everyone">GraphQL
|
||
is for Everyone by Moon Highway</a></li>
|
||
</ul>
|
||
<p><a name="podcast" /></p>
|
||
<h2 id="podcasts">Podcasts</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy8zNjE5NmViMC9wb2RjYXN0L3Jzcw==">GraphQL.FM</a>
|
||
by Marc-Andre Giroux and Tony Ghita.</li>
|
||
</ul>
|
||
<p><a name="style-guide" /></p>
|
||
<h2 id="style-guides">Style Guides</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/Shopify/graphql-design-tutorial">Shopify
|
||
GraphQL Design Tutorial</a> - 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.</li>
|
||
<li><a
|
||
href="https://docs.gitlab.com/ee/development/api_graphql_styleguide.html">GitLab
|
||
GraphQL API Style Guide</a> - This document outlines the style guide for
|
||
the GitLab GraphQL API.</li>
|
||
<li><a href="https://yelp.github.io/graphql-guidelines/">Yelp GraphQL
|
||
Guidelines</a> - This repo contains documentation and guidelines for a
|
||
standardized and mostly reasonable approach to GraphQL (at Yelp).</li>
|
||
<li><a href="https://principledgraphql.com/">Principled GraphQL</a> -
|
||
Apollo’s 10 GraphQL Principles, broken out into three categories, in a
|
||
format inspired by the Twelve Factor App.</li>
|
||
</ul>
|
||
<p><a name="blogs" /></p>
|
||
<h2 id="blogs">Blogs</h2>
|
||
<ul>
|
||
<li><a href="https://graphql.org/blog/">Official GraphQL blog</a></li>
|
||
<li><a href="https://blog.apollographql.com/">Building Apollo</a></li>
|
||
<li><a href="https://medium.com/the-guild">The Guild blog</a></li>
|
||
<li><a href="https://productionreadygraphql.com">Production Ready
|
||
GraphQL blog</a></li>
|
||
</ul>
|
||
<p><a name="security-blog" /></p>
|
||
<h3 id="blogs---security">Blogs - Security</h3>
|
||
<ul>
|
||
<li><a href="https://blog.escape.tech">Escape - The GraphQL Security
|
||
Blog</a> - Learn about GraphQL security, performance, testing and
|
||
building production-ready APIs with the latest tools and best practices
|
||
of the GraphQL ecosystem.</li>
|
||
<li><a
|
||
href="https://blog.escape.tech/9-graphql-security-best-practices/">9
|
||
GraphQL Security Best Practices</a></li>
|
||
<li><a
|
||
href="https://medium.com/@localh0t/discovering-graphql-endpoints-and-sqli-vulnerabilities-5d39f26cea2e">Discovering
|
||
GraphQL Endpoints and SQLi Vulnerabilities</a></li>
|
||
<li><a href="https://lab.wallarm.com/securing-graphql-api/">Securing
|
||
GraphQL API</a></li>
|
||
<li><a
|
||
href="https://nordicapis.com/security-points-to-consider-before-implementing-graphql/">Security
|
||
Points to Consider Before Implementing GraphQL</a></li>
|
||
<li><a href="https://www.acceis.fr/graphql-for-pentesters/">GraphQL for
|
||
Pentesters</a> - Introduction to Basic Concepts, Security Considerations
|
||
& Reconnaissance, Vulnerabilities and Attacks, Offensive Tools.</li>
|
||
<li><a
|
||
href="https://www.osohq.com/post/graphql-authorization">Authorization
|
||
Patterns in GraphQL</a></li>
|
||
</ul>
|
||
<p><a name="post" /></p>
|
||
<h2 id="posts">Posts</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://cube.dev/blog/graphql-federation-example-with-apollo-federation-and-apollo-graphos">GraphQL
|
||
federation example with Apollo Federation and Apollo GraphOS</a></li>
|
||
<li><a
|
||
href="https://cube.dev/blog/graphql-federation-with-hasura-graphql-engine">GraphQL
|
||
federation with Hasura GraphQL Engine and Cube</a></li>
|
||
<li><a
|
||
href="https://medium.com/@gajus/using-dataloader-to-batch-requests-c345f4b23433">Using
|
||
DataLoader to batch GraphQL requests</a></li>
|
||
<li><a
|
||
href="https://reactjs.org/blog/2015/02/20/introducing-relay-and-graphql.html">Introducing
|
||
Relay and GraphQL</a></li>
|
||
<li><a
|
||
href="https://reactjs.org/blog/2015/05/01/graphql-introduction.html">GraphQL
|
||
Introduction</a></li>
|
||
<li><a
|
||
href="https://gist.github.com/wincent/598fa75e22bdfa44cf47">Unofficial
|
||
Relay FAQ</a></li>
|
||
<li><a
|
||
href="https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2">Your
|
||
First GraphQL Server</a></li>
|
||
<li><a
|
||
href="https://blog.risingstack.com/graphql-overview-getting-started-with-graphql-and-nodejs/">GraphQL
|
||
Overview - Getting Started with GraphQL and Node.js</a></li>
|
||
<li><a
|
||
href="https://medium.freecodecamp.org/introduction-to-graphql-1d8011b80159">4
|
||
Reasons you should try out GraphQL</a></li>
|
||
<li><a
|
||
href="https://medium.com/@frikille/moving-from-rest-to-graphql-e3650b6f5247">Moving
|
||
from REST to GraphQL</a></li>
|
||
<li><a
|
||
href="http://davidandsuzi.com/writing-a-basic-api-with-graphql/">Writing
|
||
a Basic API with GraphQL</a></li>
|
||
<li><a
|
||
href="https://www.reindex.io/blog/building-a-graphql-server-with-node-js-and-sql/">Building
|
||
a GraphQL Server with Node.js and SQL</a></li>
|
||
<li><a href="https://www.slideshare.net/LondonReact/graph-ql">GraphQL at
|
||
The Financial Times</a></li>
|
||
<li><a
|
||
href="https://jacobwgillespie.com/2015-10-09-from-rest-to-graphql">From
|
||
REST to GraphQL</a></li>
|
||
<li><a
|
||
href="https://graphql.org/blog/graphql-a-query-language/">GraphQL: A
|
||
data query language</a></li>
|
||
<li><a
|
||
href="https://graphql.org/blog/subscriptions-in-graphql-and-relay/">Subscriptions
|
||
in GraphQL and Relay</a></li>
|
||
<li><a
|
||
href="https://medium.com/@clayallsopp/relay-101-building-a-hacker-news-client-bb8b2bdc76e6">Relay
|
||
101: Building A Hacker News Client</a></li>
|
||
<li><a
|
||
href="https://wehavefaces.net/graphql-shorthand-notation-cheatsheet-17cd715861b6">GraphQL
|
||
Shorthand Notation Cheatsheet</a></li>
|
||
<li><a href="https://githubengineering.com/the-github-graphql-api/">The
|
||
GitHub GraphQL API</a></li>
|
||
<li><a
|
||
href="https://medium.com/@katopz/github-graphql-api-react-example-eace824d7b61">Github
|
||
GraphQL API React Example</a></li>
|
||
<li><a
|
||
href="https://medium.com/entria/testing-a-graphql-server-using-jest-4e00d0e4980e">Testing
|
||
a GraphQL Server using Jest</a></li>
|
||
<li><a
|
||
href="https://medium.com/entria/how-to-implement-viewercansee-in-graphql-78cc48de7464">How
|
||
to implement viewerCanSee in GraphQL</a></li>
|
||
<li><a
|
||
href="https://blog.morethancode.dev/preventing-traversal-attacks-in-your-graphql-api/">Preventing
|
||
traversal attacks on your GraphQL API</a></li>
|
||
<li><a
|
||
href="https://dev.to/yvonnickfrin/mock-your-graphql-server-realistically-with-faker-js-25oo">Mock
|
||
your GraphQL server realistically with faker.js</a></li>
|
||
<li><a
|
||
href="https://dev.to/yvonnickfrin/create-an-infinite-loading-list-with-react-and-graphql-19hh">Create
|
||
an infinite loading list with React and GraphQL</a></li>
|
||
<li><a
|
||
href="https://www.moesif.com/blog/technical/graphql/REST-vs-GraphQL-APIs-the-good-the-bad-the-ugly/">REST
|
||
vs GraphQL</a></li>
|
||
<li><a
|
||
href="https://www.moesif.com/blog/technical/api-design/Steps-to-Building-Authentication-and-Authorization-For-GraphQL-APIs/">Authentication
|
||
and Authorization for GraphQL APIs</a></li>
|
||
<li><a
|
||
href="https://www.swoole.co.uk/article/Build-a-GraphQL-API-on-top-of-Swoole">Build
|
||
a GraphQL API with Siler on top of Swoole</a></li>
|
||
<li><a
|
||
href="https://hasura.io/blog/fluent-graphql-clients-how-to-write-queries-like-a-boss/">Fluent
|
||
GraphQL clients: how to write queries like a boss</a></li>
|
||
<li><a
|
||
href="https://hasura.io/blog/level-up-your-serverless-game-with-a-graphql-data-as-a-service-layer/">Level
|
||
up your serverless game with a GraphQL data-as-a-service layer</a></li>
|
||
<li><a
|
||
href="https://hasura.io/blog/deep-dive-into-relay-graphql-client/">A
|
||
deep-dive into Relay, the friendly & opinionated GraphQL
|
||
client</a></li>
|
||
<li><a
|
||
href="https://hackernoon.com/make-your-graphql-api-easier-to-adopt-through-components-74b022f195c1">make
|
||
your graphql api easier to adopt through components</a></li>
|
||
<li><a
|
||
href="https://www.useanvil.com/blog/engineering/undocumented-directive/">Undocumented:
|
||
keeping parts of your GraphQL schema hidden from introspection</a></li>
|
||
<li><a
|
||
href="https://medium.com/ballerina-techblog/graphql-subscriptions-with-apache-kafka-in-ballerina-b3c296d333cd">GraphQL
|
||
Subscriptions with Apache Kafka in Ballerina</a></li>
|
||
<li><a
|
||
href="https://escape.tech/blog/8-most-common-graphql-vulnerabilities/">How
|
||
to Test your GraphQL Endpoints</a></li>
|
||
<li><a
|
||
href="https://blog.tailcall.run/the-truth-about-scaling-automatic-persisted-queries/">Why
|
||
Automatic Persisted Queries Don’t Scale</a></li>
|
||
</ul>
|
||
<p><a name="tutorials" /></p>
|
||
<h2 id="tutorials">Tutorials</h2>
|
||
<ul>
|
||
<li><a href="https://www.howtographql.com">How to GraphQL</a> -
|
||
Fullstack Tutorial Website with Tracks for all Major Frameworks &
|
||
Languages including React, Apollo, Relay, JavaScript, Ruby, Java, Elixir
|
||
and many more.</li>
|
||
<li><a href="https://odyssey.apollographql.com/">Apollo Odyssey</a> -
|
||
Apollo’s free interactive learning platform.</li>
|
||
<li><a
|
||
href="https://github.com/mugli/learning-graphql">learning-graphql</a> -
|
||
An attempt to learn GraphQL.</li>
|
||
<li><a href="https://roadmap.sh/graphql/">GraphQL Roadmap</a> - Step by
|
||
step guide to learn GraphQL.</li>
|
||
<li><a href="https://escape.tech/academy/">GraphQL Security Academy</a>
|
||
- a free and interactive platform to learn GraphQL security: how to
|
||
find, exploit and fix GraphQL vulnerabilities.</li>
|
||
</ul>
|
||
<h2 id="license">License</h2>
|
||
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
|
||
src="https://licensebuttons.net/p/zero/1.0/88x31.png"
|
||
alt="CC0" /></a></p>
|
||
<p>To the extent possible under law, <a
|
||
href="https://github.com/chentsulin">Chen-Tsu Lin</a> has waived all
|
||
copyright and related or neighboring rights to this work.</p>
|