
ElasticGraph provides schema-driven, scalable, cloud-native, batteries-included GraphQL, backed by Elasticsearch / OpenSearch.
Boot an example ElasticGraph project locally with:
curl -s https://block.github.io/elasticgraph/dc.yml | docker compose -f - up --pull always
Then visit the local GraphiQL UI to try some example queries.
Bootstrap a new ElasticGraph project with:
gem exec elasticgraph new path/to/project
cd path/to/project
bundle exec rake boot_locally
The project website has a full getting started guide.
ElasticGraph is designed as a modular system with a small core and numerous built-in extensions. The codebase is a monorepo containing multiple Ruby gems that work together to provide a rich, comprehensive data platform.
For a detailed exploration of the system architecture, component gems, and their interactions, please see the CODEBASE_OVERVIEW.md.
The project website has extensive user guides and documentation.
We welcome contributions to ElasticGraph!
- Join the community in the
#elasticgraph
channel on the Block Open Source Discord server. - Read CONTRIBUTING.md to learn how you can help, including our development workflow and coding conventions.
ElasticGraph is released under the MIT License.
The GraphiQL interface bundled with elasticgraph-graphiql
is derived from the GraphiQL project,
which is also licensed under the MIT License, Copyright (c) GraphQL Contributors.