Skip to content

rowi1de/graphql-reactive

Folders and files

NameName
Last commit message
Last commit date
Dec 18, 2024
Mar 25, 2022
Dec 4, 2022
May 27, 2022
Jan 19, 2023
Dec 4, 2022
Dec 4, 2022
Sep 14, 2021
Sep 14, 2021
Feb 4, 2023
Dec 17, 2024
Sep 14, 2021
Sep 14, 2021
Sep 14, 2021

Repository files navigation

Reactive Graphql Kotlin CI with Gradle, Build & Push OCI Image Release & Push Helm Charts

Simple Spring WebFlux Project (see Help.md) with:

  • Classic Annotation Based REST
  • WebFlux.Fn / coRouter REST

Kotlin

This project uses ktlint

ktlint

  • brew install ktlint
  • ktlint --apply-to-idea or ktlint --apply-to-idea-project
  • ktlint --install-git-pre-commit-hook
  • ktlint -F "src/**/*.kt" "*.kts"

Build & Run

  • Open build.gradle.kts with IntelliJ
  • Run Application via IntelliJ or ./gradlew bootRun

Graphql

Use graphiql to execute queries and browse schema or js-graphql

Query

#default value
query default {
  hello {
    greeting
    time
  }
}
#with input
query rob {
  hello(name: "Rob") {
    greeting
    time
  }
}

Note The following examples are not migrated from graphql-kotlin yet, for working examples use #811dcc2

  • Partial Results / Errors
query hello {
  hello(name: "Rob") {
    greeting
  }
  partialBroken {
    greeting
  }
}

Subscription

subscription {
  hello(name: "Rob") {
    greeting
    time
  }
}

Employee Example

subscription employees {
  employees {
    firstName
    team {
      name
    }
  }
}

mutation newEmployee {
  newEmployee(
    newEmployee: { firstName: "Tim", lastName: "Test", teamName: "Dev" }
  ) {
    firstName
    team {
      employees {
        firstName
      }
    }
  }
}

REST

API

GitHub

Actions

  • Automatically Update Dependencies self-approving Dependabot PRs

CI / CD

  • GitHub Actions + ArgoCD

CI GitHub Actions

  • See Releases for current released versions
  • See Packages for current published helm chart as OCI

CD ArgoCD App Status