Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/graphql-java/awesome-graphql-java
awesome list of graphql-java related projects
https://github.com/graphql-java/awesome-graphql-java
List: awesome-graphql-java
awesome-list graphql graphql-java
Last synced: 4 days ago
JSON representation
awesome list of graphql-java related projects
- Host: GitHub
- URL: https://github.com/graphql-java/awesome-graphql-java
- Owner: graphql-java
- Created: 2017-05-08T05:39:36.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-11-02T02:59:36.000Z (about 1 year ago)
- Last Synced: 2024-10-29T22:37:45.424Z (3 months ago)
- Topics: awesome-list, graphql, graphql-java
- Homepage:
- Size: 68.4 KB
- Stars: 588
- Watchers: 39
- Forks: 93
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- fucking-lists - awesome-graphql-java - java](www.graphql-java.com/). (Technical / awesome-*)
- awesome-ccamel - graphql-java/awesome-graphql-java - awesome list of graphql-java related projects (Misc)
- lists - awesome-graphql-java - java](https://www.graphql-java.com/). (Technical / awesome-*)
- ultimate-awesome - awesome-graphql-java - Awesome list of graphql-java related projects. (Programming Language Lists / Java Lists)
- jimsghstars - graphql-java/awesome-graphql-java - awesome list of graphql-java related projects (Others)
README
# Awesome graphql-java [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
>Libraries and projects related to [graphql-java](https://github.com/graphql-java/graphql-java)
*Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing.*
## Official Spring integration
* [Spring for GraphQL](https://spring.io/projects/spring-graphql) is the official Spring integration for GraphQL, built on GraphQL Java. See the [getting started tutorial](https://spring.io/guides/gs/graphql-server/) for how to build a GraphQL service in 15 minutes.
## Examples
* [todomvc-relay-java](https://github.com/graphql-java/todomvc-relay-java): Port of the Relay TodoMVC example to a java backend
* [graphql-datetime-sample-app](https://github.com/donbeave/graphql-java-datetime/tree/master/graphql-datetime-sample-app): GraphQL example app with usage of date and time scalars
* [spring-petclinic-graphql](https://github.com/spring-petclinic/spring-petclinic-graphql): Port of the Spring PetClinic to Spring Boot, graphql-java and graphql-spring-boot-starter (using React Apollo in the frontend)## Schema Libraries
### Schema First
* [GraphQL Java Generator](https://github.com/graphql-java-generator) is available as a [Maven plugin](https://github.com/graphql-java-generator/graphql-maven-plugin-project) and a [Gradle plugin](https://github.com/graphql-java-generator/graphql-gradle-plugin-project). It has two modes :
* The Client mode generates the Java classes that contains methods to call the GraphQL endpoint , and the POJO that will contain the data returned by the server.
* The Server mode generates the boilerplate code for graphql-java. It's an accelerator that makes it easier to use graphql-java. You'll only have to implement what's specific to your server, which are the joins between the GraphQL types.
* [graphql-apigen](https://github.com/Distelli/graphql-apigen): Generate Java APIs with GraphQL Schemas
* [graphql-java-tools](https://github.com/graphql-java/graphql-java-tools): A schema-first tool for graphql-java inspired by graphql-tools for JS
* [graphql-java-codegen-maven-plugin](https://github.com/kobylynskyi/graphql-java-codegen/tree/master/plugins/maven): Maven plugin for generating JVM languages(Such as Scala,Kotlin,Java) types and Resolver interfaces. Works perfectly in conjunction with graphql-java-tools.
* [graphql-java-codegen-gradle-plugin](https://github.com/kobylynskyi/graphql-java-codegen/tree/master/plugins/gradle): Gradle plugin for generating JVM languages(Such as Scala,Kotlin,Java) types and Resolver interfaces. Works perfectly in conjunction with graphql-java-tools.
* [graphql-java-codegen-sbt-plugin](https://github.com/jxnu-liguobin/graphql-java-codegen-sbt-plugin): SBT plugin for generating JVM languages(Such as Scala,Kotlin,Java) types and Resolver interfaces. Works perfectly in conjunction with graphql-java-tools.
* [rdbms-to-graphql](https://github.com/ebridges/rdbms-to-graphql): A Java CLI program that generates a GraphQL schema from a JDBC data source.
* [graphql-schema-from-introspection-generator](https://github.com/mstachniuk/graphql-schema-from-introspection-generator): A Java CLI program that generates a GraphQL schema from Introspection Query result. Useful for migration from Code First.
* [graphql-braid](https://bitbucket.org/atlassian/graphql-braid): Schema stitching - combines GraphQL backends into one schema.
* [lilo](https://github.com/friatech/lilo): Lilo is a super fast GraphQL stitching library.
* [graphql-orchestrator-java](https://github.com/graph-quilt/graphql-orchestrator-java) GraphQL Orchestrator/Gateway library that supports Schema Stitching and Apollo Federation directives to combine schema from multiple GraphQL microservices into a single unified schema.
* [test-graphql-java](https://github.com/vimalrajselvam/test-graphql-java): A simple library to help testing the GraphQL endpoint with schema files using any HTTP Client library.
* [Kobby](https://github.com/ermadmi78/kobby): Codegen plugin of [Kotlin DSL Client](https://blog.kotlin-academy.com/how-to-generate-kotlin-dsl-client-by-graphql-schema-707fd0c55284) by GraphQL schema. The generated DSL supports execution of complex GraphQL queries, mutation and subscriptions in Kotlin with syntax similar to native GraphQL syntax.
### Code First
* [graphql-java-annotations](https://github.com/graphql-java/graphql-java-annotations): Annotations-based syntax for GraphQL schema definition.* [spring-graphql-common](https://github.com/oembedler/spring-graphql-common): Spring Framework GraphQL Library
* [graphql-jpa-query](https://github.com/introproventures/graphql-jpa-query): GraphQL Query Api for JPA 2.1 Entity Models
* [graphql-jpa](https://github.com/jcrygier/graphql-jpa): JPA Implementation of GraphQL (builds on graphql-java)
* [Elide](https://elide.io): Java library that lets you build model driven GraphQL APIs for CRUD and Analytics. It has first class support for JPA annotations.
* [graphkool](https://github.com/beyondeye/graphkool): GraphQl-java utilities in kotlin
* [schemagen-graphql](https://github.com/bpatters/schemagen-graphql): GraphQL-Java add-on that adds support for Schema Generation & Execution for enterprise level applications.
* [GraphQL-SPQR](https://github.com/leangen/GraphQL-SPQR): Java 8+ API for rapid development of GraphQL services
* [graphql-emf](https://github.com/hallvard/graphql-emf): Support for EMF models and data
* [Rejoiner](https://github.com/google/rejoiner): Provides a uniform GraphQL schema on top of gRPC microservices by generating GraphQL types from Protobuf.
* [graphql-kotlin](https://github.com/ExpediaDotCom/graphql-kotlin): Code-only GraphQL schema generation for Kotlin
* [graphql-reflector](https://github.com/graphqly/graphql-reflector): A simple GraphQL reflection library for Java code-first applications.
* [vertx-graphql-client](https://github.com/graphqly/vertx-graphql-client): An elegant implementation for code-first GraphQL clients
* [MicroProfile GraphQL](https://github.com/eclipse/microprofile-graphql): Open Specification for Code-first Java GraphQL Services.
* [SmallRye GraphQL](https://github.com/smallrye/smallrye-graphql): An implementation of the above mentioned Specification used in [Quarkus](https://quarkus.io/blog/quarkus-1-5-final-released/) and [OpenLiberty](https://openliberty.io/blog/2020/06/05/graphql-open-liberty-20006.html)
* [Helidon GraphQL](https://medium.com/helidon/microprofile-graphql-support-now-available-in-helidon-mp-dbc7bc0b4af): An implementation of the MicroProfile GraphQL Specification using [Project Helidon](https://helidon.io/) version 2.2.0 and above
## Apollo Federation
* [federation-jvm](https://github.com/apollographql/federation-jvm): An implementation of the [Apollo Federation Specification](https://www.apollographql.com/docs/federation/federation-spec/) for graphql-java
## Execution Strategies
* [graphql-rxjava](https://github.com/nfl/graphql-rxjava): An execution strategy that makes it easier to use rxjava's Observable
* [graphql-java-reactive](https://github.com/bsideup/graphql-java-reactive): An execution strategy which is based on Reactive Streams. Project is evolving.
## Exposing a Schema
* [graphql-java-servlet](https://github.com/graphql-java/graphql-java-servlet): Servlet that automatically exposes a schema dynamically built from GraphQL queries and mutations.
* [graphql-spring-boot](https://github.com/graphql-java/graphql-spring-boot): GraphQL and GraphiQL Spring Framework Boot Starters
* [graphql-jpa-spring-boot-starter](https://github.com/timtebeek/graphql-jpa-spring-boot-starter): Spring Boot starter for GraphQL JPA; Expose JPA entities with GraphQL.
* [Light Java GraphQL](https://github.com/networknt/light-java-graphql): A lightweight, fast microservices framework with all other cross-cutting concerns addressed that is ready to plug in GraphQL schema.
* [Moqui GraphQL](https://github.com/shendepu/moqui-graphql): An addon of Moqui framework to generate GraphQL Schema automatically.
* [GORM GraphQL](https://github.com/grails/gorm-graphql): An fully customizable addon for [GORM](http://gorm.grails.org) (Grails Object Relational Model) to generate a GraphQL schema automatically.
* [Vert.x GraphQL Utils](https://github.com/tibor-kocsis/vertx-graphql-utils) - Vert.x route handler and Vert.x compatible interfaces to handle GraphQL queries in Vert.x applications.
* [dropwizard-graphql](https://github.com/smoketurner/dropwizard-graphql) - [Dropwizard](http://dropwizard.io) bundle for exposing a GraphQL endpoint (uses [graphql-java-servlet](https://github.com/graphql-java/graphql-java-servlet) internally)
* [graffiti](https://github.com/creactiviti/graffiti) - a headless Java CMS.
* [spring-boot-starter-graphql](https://github.com/creactiviti/spring-boot-starter-graphql) - Spring Boot Starter for GraphQL.
* [micronaut-graphql](https://github.com/micronaut-projects/micronaut-graphql): Provides Micronaut GraphQL integration.
* [vertx-web-graphql](https://vertx.io/docs/vertx-web-graphql/java/): Extends Vert.x Web with the GraphQL-Java library so that you can build a GraphQL server.
## Validation
* [graphql-java-extended-validation](https://github.com/graphql-java/graphql-java-extended-validation): A validation library that allows use of @directives to indicate how to validate graphql input arguments.
## Batch Loading
* [java-dataloader](https://github.com/graphql-java/java-dataloader): A pure java 8 port of [Facebook DataLoader](https://github.com/facebook/dataloader)
## Scalars
* [graphql-java-extended-scalars](https://github.com/graphql-java/graphql-java-extended-scalars): A series extended scalars for graphql-java based projects, brought you you by the same team that helps build graphql-java itself
* [graphql-java-datetime](https://github.com/donbeave/graphql-java-datetime): A set of ISO 33601, RFC 3339 compatible date time scalars for GraphQL Java
## Tools
* [JS GraphQL IntelliJ Plugin](https://github.com/jimkyndemeyer/js-graphql-intellij-plugin): GraphQL language support for WebStorm, IntelliJ IDEA and other IDEs based on the IntelliJ Platform.
* [graphql-calculator](https://github.com/graphql-calculator/graphql-calculator) - A lightweight graphql calculation engine, implemented based on directive.## License
[![CC0](https://i.creativecommons.org/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)
To the extent possible under law, the [contributors](https://github.com/graphql-java/awesome-graphql-java/graphs/contributors) have waived all copyright and related or neighboring rights to this work.