An implementation of the GraphQL specification in Clojure.
The goal of this library is to expose the data of your Clojure application in a way that enables GraphQL clients to interact with it. Special care is taken to make data access as efficient as possible - streamlined, concurrent data fetching is provided by the muse library.
See links for more information on GraphQL and the ideas behind it.
To help in understanding the internals of Galapagos, there's an annotated overview of the source code in the spirit of literate programming.
Galapagos is still very much pre-alpha software and nearly everything is subject to change.
The schema definition DSL is still a work-in-progress and a bit clunky in places.
Directives and query variables are missing. Validation is lacking. Support for muse's query batching (a solution to the [1+N query problem] 1) is not yet implemented.
Mutation operations are not currently supported.
Distributed under the MIT License - see LICENSE for the full license.