gmac / Schema Stitching Handbook
Licence: mit
Guided examples exploring GraphQL Tools v6+ Schema Stitching
Stars: ✭ 137
Programming Languages
javascript
184084 projects - #8 most used programming language
Labels
Projects that are alternatives of or similar to Schema Stitching Handbook
Thunderhub
ThunderHub LND Lightning Node Manager in your Browser
Stars: ✭ 131 (-4.38%)
Mutual labels: graphql
Webspace
This is the repo which hosts the front end for people.amfoss.in
Stars: ✭ 134 (-2.19%)
Mutual labels: graphql
Subzero Starter Kit
Starter Kit and tooling for authoring GraphQL/REST API backends with subZero
Stars: ✭ 136 (-0.73%)
Mutual labels: graphql
Next Advanced Apollo Starter
Advanced, but minimalistic Next.js pre-configured starter with focus on DX
Stars: ✭ 131 (-4.38%)
Mutual labels: graphql
Graphql Postgres Subscriptions
A graphql subscriptions implementation using postgres and apollo's graphql-subscriptions
Stars: ✭ 133 (-2.92%)
Mutual labels: graphql
Graphql Mqtt Subscriptions
graphql-subscriptions implementation for MQTT protocol
Stars: ✭ 133 (-2.92%)
Mutual labels: graphql
Join Monster Graphql Tools Adapter
Use Join Monster to fetch your data with Apollo Server.
Stars: ✭ 130 (-5.11%)
Mutual labels: graphql
Graphql Go Example
Example GraphQL API implemented in Go and backed by Postgresql
Stars: ✭ 135 (-1.46%)
Mutual labels: graphql
Python Graphql Client
Simple GraphQL client for Python 2.7+
Stars: ✭ 133 (-2.92%)
Mutual labels: graphql
Saleor
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React.
Stars: ✭ 14,720 (+10644.53%)
Mutual labels: graphql
Gatsby Blog Starter Kit
A simple starter kit for a static blog created with Gatsby
Stars: ✭ 131 (-4.38%)
Mutual labels: graphql
Frontend
🌏 The front-end application code for https://buildkite.com
Stars: ✭ 132 (-3.65%)
Mutual labels: graphql
Graphql Compose Examples
Live examples of schemas builded with graphql-compose
Stars: ✭ 134 (-2.19%)
Mutual labels: graphql
Apollo Federation Ruby
A Ruby implementation of Apollo Federation
Stars: ✭ 131 (-4.38%)
Mutual labels: graphql
Graphbrainz
A fully-featured GraphQL interface for the MusicBrainz API.
Stars: ✭ 130 (-5.11%)
Mutual labels: graphql
Aws Mobile Appsync Events Starter React Native
GraphQL starter application with Realtime and Offline functionality using AWS AppSync
Stars: ✭ 134 (-2.19%)
Mutual labels: graphql
Framework
Strongly-typed JavaScript object with support for validation and error handling.
Stars: ✭ 136 (-0.73%)
Mutual labels: graphql
Graphql Cli
📟 Command line tool for common GraphQL development workflows
Stars: ✭ 1,814 (+1224.09%)
Mutual labels: graphql
Gatsby Starter Foundation
A starter to launch your blazing fast personal website and a blog, Built with Gatsby and Netlify CMS. Made with ❤ by Stackrole
Stars: ✭ 135 (-1.46%)
Mutual labels: graphql
Guided examples of Schema Stitching doing awesome things. Focuses on the new (GraphQL Tools v6+) stitching using type merging, not legacy Apollo Stitching.
Table of Contents
Foundation
-
Combining local and remote schemas
- Adding a locally-executable schema.
- Adding a remote schema, fetched via introspection.
- Adding a remote schema, fetched from a custom SDL service.
- Avoiding schema conflicts using transforms.
- Authorization headers.
- Basic error handling.
-
- Adding a remote mutation service.
- Adding a remote subscription service.
- Adding a subscriber proxy.
-
- Type merging using single-record queries.
- Query/execution batching.
-
- Type merging using array queries.
- Handling array errors.
- Nullability & error remapping.
-
- Selecting nullability for merged fields.
- Returning nullable and not-nullable results.
-
- Distributing a GraphQL interface across services.
-
Merged types with multiple keys
- Configuring multiple key access for a merged type.
-
- Configuring computed fields.
- Sending complex inputs to subservices.
- Normalizing subservice deprecations in the gateway.
-
-
@key
directive for type-level selection sets. -
@merge
directive for type merging services. -
@computed
directive for computed fields. -
@canonical
directive for preferred element definitions.
-
Architecture
-
- Hot reload of the combined gateway schema (no server restart).
- Polling for remote subschema changes.
- Mutations for adding/removing remote subservices.
- Handling subservice request timeouts.
-
- Using GitHub API to manage a simple schema registry.
- Hot reloading from a remote Git registry.
- Running development and production environments.
-
Continuous Integration (CI) testing
- Adding test coverage to a stitched schema.
- Mocking subservices as local test fixtures.
-
- Filtering unwanted fields from the final stitched schema.
- Serving public (filtered) and private (unfiltered) API versions.
Other Integrations
-
- Integrating Apollo Federation services into a stitched schema.
- Fetching and parsing Federation SDLs.
-
-
JavaScript schemas created with:
graphql-js
nexus
type-graphql
-
Ruby schemas created with:
- Class-based definitions
- Parsed definitions string
-
Appendices
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].