# graphile/crystal

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/graphile-crystal).**

12,931 stars · 621 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/graphile/crystal
- Homepage: https://graphile.org/
- awesome-repositories: https://awesome-repositories.com/repository/graphile-crystal.md

## Topics

`api` `automatic-api` `express` `graphile` `graphql` `graphql-api` `graphql-js` `http` `instant` `koa` `koa2` `node` `nodejs` `pg` `pgsql` `postgraphql` `postgres` `postgresql` `schema` `typescript`

## Description

🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!

## Tags

### Data & Databases

- [GraphQL API Generators](https://awesome-repositories.com/f/data-databases/database-schema-mapping/graphql-api-generators.md) — Generating a complete GraphQL API schema by introspecting an existing PostgreSQL database structure and relationships.
- [PostgreSQL GraphQL Generators](https://awesome-repositories.com/f/data-databases/database-schema-mapping/graphql-api-generators/postgresql-graphql-generators.md) — An extensible toolkit that generates a real-time GraphQL API from a PostgreSQL database schema with plugin support and incremental delivery. ([source](https://postgraphile.org/postgraphile/5))
- [Database Schema Introspection Tools](https://awesome-repositories.com/f/data-databases/database-schema-introspection-tools.md) — Analyzing a PostgreSQL database to extract table, column, and relationship metadata for automated code generation.
- [GraphQL Schema Generators](https://awesome-repositories.com/f/data-databases/database-schema-introspection-tools/graphql-schema-generators.md) — Generate a complete GraphQL API schema by introspecting an existing PostgreSQL database structure and relationships. ([source](https://postgraphile.org/postgraphile/5/migrating-from-v4))
- [GraphQL Schema Behavior Plugins](https://awesome-repositories.com/f/data-databases/full-text-search/extensibility-plugins/graphql-schema-behavior-plugins.md) — Add or override schema features like authorization, filtering, and resolver logic through a plugin system. ([source](https://postgraphile.org/postgraphile/5))
- [Custom Database-Backed Mutations](https://awesome-repositories.com/f/data-databases/graphql-integrations/mutation-handlers/graphql-mutation-implementations/custom-database-backed-mutations.md) — Define custom database-backed mutations as GraphQL endpoints without manually wiring the schema. ([source](https://cdn.jsdelivr.net/gh/graphile/crystal@main/README.md))
- [Cursor-Based Pagination](https://awesome-repositories.com/f/data-databases/query-aggregates/paginated-results/cursor-based-pagination.md) — Implement cursor-based pagination compatible with Relay specifications for efficient traversal of large result sets. ([source](https://cdn.jsdelivr.net/gh/graphile/crystal@main/README.md))
- [Engines](https://awesome-repositories.com/f/data-databases/query-planning/engines.md) — Reduce database round trips by batching and optimizing queries through a planning engine before they reach PostgreSQL. ([source](https://postgraphile.org/v5beta))
- [Data-Fetching Plan Execution](https://awesome-repositories.com/f/data-databases/query-planning/query-plan-execution-engines/data-fetching-plan-execution.md) — Executes GraphQL queries by first building a detailed execution plan, then optimizing and batching database operations before running them.
- [GraphQL Schema Customizations](https://awesome-repositories.com/f/data-databases/schema-extensions/graphql-schema-customizations.md) — Rename, hide, or reshape database entities and add custom types using smart tags and schema extensions. ([source](https://postgraphile.org/postgraphile/5))
- [Executable Schema Exporters](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/json-schema/schema-metadata-exporters/executable-schema-exporters.md) — Exports the in-memory GraphQL schema as standalone JavaScript code that runs without database introspection. ([source](https://postgraphile.org/postgraphile/5/migrating-from-v4))
- [Polymorphic Relationships](https://awesome-repositories.com/f/data-databases/object-relational-mappers/polymorphic-relationships.md) — Return different types from a single field based on the underlying data using true polymorphic associations. ([source](https://postgraphile.org/v5beta))

### DevOps & Infrastructure

- [GraphQL Schema Plugins](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/bundling-extension-architectures/plugin-extension-architectures/graphql-schema-plugins.md) — Hook into schema build phases to add or modify GraphQL types and fields through plugin objects. ([source](https://postgraphile.org/postgraphile/5/migrating-from-v4))
- [Schema Build Phase Hooks](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/bundling-extension-architectures/plugin-extension-architectures/schema-build-phase-hooks.md) — Extends the generated schema by hooking into build phases with plugin objects that add or modify types and fields.

### Security & Cryptography

- [GraphQL Resolver Customizations](https://awesome-repositories.com/f/security-cryptography/authentication-flows/logic-customizers/graphql-resolver-customizations.md) — Add custom resolvers, types, and business logic while keeping the schema structure intact. ([source](https://postgraphile.org/v5beta))
- [Row Level Security](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/data-resource-permissions/row-level-security.md) — Enforces PostgreSQL row-level security policies directly in GraphQL queries, restricting data access per user. ([source](https://cdn.jsdelivr.net/gh/graphile/crystal@main/README.md))
- [JWT Authentication](https://awesome-repositories.com/f/security-cryptography/jwt-authentication.md) — Verify JSON Web Tokens issued from the database to authorize API requests without a separate authentication service. ([source](https://cdn.jsdelivr.net/gh/graphile/crystal@main/README.md))

### Software Engineering & Architecture

- [GraphQL API Presets](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-management/project-lifecycle-management/project-configuration-presets/configuration-presets/graphql-api-presets.md) — Configures the GraphQL API using preset files that bundle settings for different deployment modes and environments. ([source](https://postgraphile.org/postgraphile/5/migrating-from-v4))

### Web Development

- [GraphQL Integration Middleware](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/node-js-server-frameworks/graphql-integration-middleware.md) — Mount the GraphQL server into any Node.js HTTP framework using an adapter for deep integration. ([source](https://postgraphile.org/postgraphile/5/migrating-from-v4))
- [Smart Tag Customizations](https://awesome-repositories.com/f/web-development/graphql-schema-configurations/smart-tag-customizations.md) — Renaming, hiding, or reshaping database entities and adding custom types using smart tags and schema extensions.
- [Database-Introspected Generators](https://awesome-repositories.com/f/web-development/graphql-schema-generation/database-introspected-generators.md) — Generates a complete GraphQL schema by introspecting PostgreSQL tables, columns, relations, and functions at build time.
- [Incremental GraphQL Delivery](https://awesome-repositories.com/f/web-development/incremental-graphql-delivery.md) — Streams query results to clients in chunks, allowing partial data display before the full response arrives.
- [Query Planning Engines](https://awesome-repositories.com/f/web-development/incremental-graphql-delivery/query-planning-engines.md) — Streams query results to clients in chunks using cursor-based pagination and query planning to reduce database round trips.
- [Database-Introspected Schema Customizations](https://awesome-repositories.com/f/web-development/schema-customization/database-introspected-schema-customizations.md) — Customizes the generated schema by applying metadata tags to database entities that rename, hide, or reshape fields.

### Development Tools & Productivity

- [GraphQL Server Startups](https://awesome-repositories.com/f/development-tools-productivity/cli-server-configuration/graphql-server-startups.md) — Start an HTTP server from the command line using a shared configuration file and database connection string. ([source](https://postgraphile.org/postgraphile/5/migrating-from-v4))
- [Schema-Driven Hot Reloaders](https://awesome-repositories.com/f/development-tools-productivity/configuration-updates/hot-reloading/schema-driven-hot-reloaders.md) — Watches the database schema for modifications and automatically refreshes the running GraphQL API without a restart. ([source](https://cdn.jsdelivr.net/gh/graphile/crystal@main/README.md))
- [Interactive API Explorers](https://awesome-repositories.com/f/development-tools-productivity/interactive-api-explorers.md) — Provides a built-in GraphiQL interface for exploring and testing the generated GraphQL schema during development. ([source](https://cdn.jsdelivr.net/gh/graphile/crystal@main/README.md))
