{"id":13565107,"url":"https://github.com/ctco/spring-boot-graphql-template","last_synced_at":"2025-04-03T22:30:39.206Z","repository":{"id":142322024,"uuid":"93542060","full_name":"ctco/spring-boot-graphql-template","owner":"ctco","description":"Spring Boot and GraphQL template project","archived":true,"fork":false,"pushed_at":"2018-04-05T22:24:11.000Z","size":123,"stargazers_count":7,"open_issues_count":11,"forks_count":5,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-04T18:46:07.021Z","etag":null,"topics":["graphiql","graphql","graphql-java-tools","graphql-playground","graphql-voyager","spring-boot","template"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-06-06T16:52:12.000Z","updated_at":"2023-01-28T15:17:07.000Z","dependencies_parsed_at":"2024-01-14T03:50:45.765Z","dependency_job_id":"1fc679b7-c1d5-4f0a-8679-bd4f830c3178","html_url":"https://github.com/ctco/spring-boot-graphql-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctco%2Fspring-boot-graphql-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctco%2Fspring-boot-graphql-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctco%2Fspring-boot-graphql-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctco%2Fspring-boot-graphql-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctco","download_url":"https://codeload.github.com/ctco/spring-boot-graphql-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247089747,"owners_count":20881831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphiql","graphql","graphql-java-tools","graphql-playground","graphql-voyager","spring-boot","template"],"created_at":"2024-08-01T13:01:40.890Z","updated_at":"2025-04-03T22:30:36.127Z","avatar_url":"https://github.com/ctco.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/ctco-dev/spring-boot-graphql-template.svg?branch=master)](https://travis-ci.org/ctco/spring-boot-graphql-template)\n\n# spring-boot-graphql-template\n\nSpring Boot, GraphQL template project with batteries included.\n\n## Features\n​\n- Docker :whale: configuration for production deployment, development and test\n  - Remote debugging for development mode\n\n## Required Software\n- JDK 1.8\n- Or docker + docker-compose\n\n### Lombok\n\n#### IntelliJ \n\n- Download and install Lombok [plugin](https://plugins.jetbrains.com/plugin/6317-lombok-plugin)\n- Enable Annotation Processors\n  -  Go to Setting-\u003eBuild, Execution, Deployment-\u003e Compiler-\u003eAnnotation Processors\n  -  Check _Enable annotation processing_\n  \n### GraphQL Tools\n  \n#### IntelliJ\n\n- Download and install GraphQLJs [plugin](https://plugins.jetbrains.com/plugin/8097-js-graphql)\n\n### Style check\n\n#### IntelliJ\n\n- You can download \"CheckStyle plugin\". Then open Settings \u003e Other Settings \u003e Checkstyle. Add path to check-style.xml file \n  and provide link to check-style folder in \"${configDir}\". This will display errors in editor and it wont affect build/run. \n\n#### Gradle\n\n- As default behaviour it is configured to call \"checkstyleMain pmdMain\" before \"build\" task is executed, which does not prevent\n development (application start up and bootrun)\n\n## Develop\n\n1.1. Run\n\n- Gradle: `$ gradlew bootRun`\n- Docker: `$ docker-compose up` (or `$ docker-compose up --build` if image should be rebuilt)\n\n1.2. Debug\n\nRun remote debugger from IDE. Debug port is 5005\n\n## Test\n\n- Gradle: `$ gradlew test`\n- Docker: `$ docker-compose -f docker-compose.test.yml up --build`\n\n## Build\n\n- Gradle: `$ gradlew buld`\n- Docker: `$ docker build -t spring-boot-graphql-template .`\n\n## Run productive\n\nAssuming that the Docker image is already built on the previous step\n\n- Docker (add `-d` to run in daemon mode): `$ docker run -p 8080:8080 spring-boot-graphql-template`\n\n## Tech Stack\n- [Spring Boot](https://projects.spring.io/spring-boot/) : Application framework\n- [Feign](https://github.com/OpenFeign/feign) : HTTP Client library\n  - [Feign-Hystrix](https://github.com/OpenFeign/feign/tree/master/hystrix) : wraps Feign's http requests in Hystrix, which enables the [Circuit Breaker](https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern) pattern. \n- [Lombok](https://projectlombok.org/features/index.html) : Utility library for Java language\n- [GraphQL](http://graphql.org/learn/) : API query runtime\n  - [GraphQL and GraphiQL Spring Framework Boot Starters](https://github.com/graphql-java/graphql-spring-boot)\n  - [GraphQL Java Tools](https://github.com/graphql-java/graphql-java-tools)\n- [GraphQL Voyager](https://github.com/APIs-guru/graphql-voyager) : Represent any GraphQL API as an interactive graph. See [Voyager Sample](https://github.com/ctco/spring-boot-graphql-template/blob/master/VOYAGER.md)\n- [GraphQL Playground](https://github.com/graphcool/graphql-playground/) : GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs \u0026 collaboration). See [Playground Sample](https://github.com/ctco/spring-boot-graphql-template/blob/master/PLAYGROUND.md)   \n- Docker\n  - [Home Page](https://www.docker.com)\n  \n## Packaging\n- Use the [Models and Connectors](https://dev-blog.apollodata.com/how-to-build-graphql-servers-87587591ded5) pattern to structure our GraphQL server code, since it is a well established pattern in GraphQL world. Such approach allows to refer to the existing approach instead of coming up with our own set of guidelines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctco%2Fspring-boot-graphql-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctco%2Fspring-boot-graphql-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctco%2Fspring-boot-graphql-template/lists"}