trygql
is a public collection of GraphQL schemas, providing different common scenarios for
testing GraphQL APIs and demonstrating features for GraphQL clients.
It consists of several schemas that can all be used and integrated into a demo app to test different
behaviour and to retrieve testing data. Notably, the API attempts to cover as many common behaviours
and features (like file uploads & persisted queries), so that demos can focus on just providing the
client-side app.
It's used in urql
's example projects
to show realistic uses of real GraphQL schemas with some schemas also storing persistent state.
Each schema is written using GraphQL Nexus, the API is exposed via
fastify's mercurius, and is hosted on Fly.io. Each
schema allows queries using POST
and GET
methods.
Schema | Description | Links |
---|---|---|
Basic Pokedex | The Pokedex API provide simple lists and fields for Pokémon data, which is highly static and perfect for "Getting Started" examples. | Endpoint Schema |
Intermittent Colors | A simple schema returning color data from an XKCD survey, which is a small data set. Fields on this schema have a high random change of erroring, which is good for testing retry logic. | Endpoint Schema |
APQ Weather | A weather schema calling out to metaweather.com supporting "Automatic Persisted Queries". This data changes often but is cached for short periods. |
Endpoint Schema |
Uploads Mock | A mock file upload schema, which doesn't retain or host uploaded files, but simulates a full upload flow. | Endpoint Schema |
Relay npm | A Relay-compliant schema for querying data from the npm registry. This data has highly variable response times and realistic pagination fields. | Endpoint Schema |
Web Collections | A full app schema, which allows users to register & signin and save links to blog posts, with a small leaderboard. This schema isn't collaborative but good for testing writing full app demos with authentication logic. | Endpoint Schema |
Go to trygql.formidable.dev to explore or query these schemas.
Stable: Formidable is not planning to develop any new features for this project. We are still responding to bug reports and security concerns. We are still welcoming PRs for this project, but PRs that include new features should be small and easy to integrate and should not include breaking changes.