
ElasticGraph provides schema-driven, scalable, cloud-native, batteries-included GraphQL with superpowers, backed by Elasticsearch / OpenSearch.
Try ElasticGraph in 1 Minute
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.
Start a New Project in 5 Minutes
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.
Architecture
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.
Documentation
The project website has extensive user guides and documentation.
Contributing
We welcome contributions to ElasticGraph!
- Join the community on Discord.
- Read CONTRIBUTING.md to learn how you can help, including our development workflow and coding conventions.
License
ElasticGraph is released under the MIT License.
The GraphiQL interface
bundled with elasticgraph-rack
is derived from the GraphiQL project, which is also licensed
under the MIT License, Copyright (c) GraphQL Contributors.