Skip to main content

GraphQL Domain Gateway

Usage​

Render from P6M Catalog​

archetect

P6M -> Java -> Java GraphQL Domain Gateway

Render from GitHub Repo​

archetect render git@github.com:p6m-archetypes/java-spring-boot-graphql-domain-gateway.archetype.git

For information about interacting with the service, refer to the README at the generated project's root.

Prompts​

When rendering the archetype, you'll be prompted for the following values:

PropertyDescriptionExample
org-nameOrganization Nameafi, cpd, a1p
solution-nameSolution Nameapps, xyz
prefixGeneral name that represents the service domain that is used to set the entity, service, and RPC stub namesinvoice, order, booking

What's Inside​

This archetype is based on the SpringBoot framework and uses Maven as its build system.

Features include:

  • Out-of-the box endpoints, including /health, /info, /metrics, /env and/threaddump.
  • Simple CRUD over GraphQL
  • Integration with gRPC Service using it's Client
  • SDLC GitHub Actions
  • Subgraph publication
  • Docker image publication to artifactory
  • Application configuration through property files, environment variables, and CLI arguments.
  • Netflix DSG Framework
  • Integration tests with gRPC Mock

Modules​

DirectoryDescription
{project-name}-bomBill of Materials.
{project-name}-coreBusiness Logic. Integration with gRPC Service.
{project-name}-graphqlGraphQL spec.
{project-name}-integration-testsLeverages the Client to test the Server and it's dependencies.
{project-name}-serverTransport/Protocol Host. Wraps Core.