diff --git a/.gitignore b/.gitignore index 66df620..04914f4 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ replay_pid* .idea .gradle build +frontend diff --git a/HELP.md b/HELP.md index adc73ce..bb54d82 100644 --- a/HELP.md +++ b/HELP.md @@ -14,6 +14,7 @@ For further reference, please consider the following sections: * [Spring Reactive Web](https://docs.spring.io/spring-boot/docs/3.2.4/reference/htmlsingle/index.html#web.reactive) * [Spring for GraphQL](https://docs.spring.io/spring-boot/docs/3.2.4/reference/htmlsingle/index.html#web.graphql) * [Spring HATEOAS](https://docs.spring.io/spring-boot/docs/3.2.4/reference/htmlsingle/index.html#web.spring-hateoas) +* [Vaadin](https://vaadin.com/docs) ### Guides The following guides illustrate how to use some features concretely: @@ -24,6 +25,7 @@ The following guides illustrate how to use some features concretely: * [Building a Reactive RESTful Web Service](https://spring.io/guides/gs/reactive-rest-service/) * [Building a GraphQL service](https://spring.io/guides/gs/graphql-server/) * [Building a Hypermedia-Driven RESTful Web Service](https://spring.io/guides/gs/rest-hateoas/) +* [Creating CRUD UI with Vaadin](https://spring.io/guides/gs/crud-with-vaadin/) ### Additional Links These additional references should also help you: diff --git a/build.gradle.kts b/build.gradle.kts index d56a164..5af7ffe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,6 +5,7 @@ plugins { id("io.spring.dependency-management") version "1.1.4" id("com.netflix.dgs.codegen") version "6.0.3" id("org.graalvm.buildtools.native") version "0.9.28" + id("com.vaadin") version "24.3.9" kotlin("jvm") version "1.9.23" kotlin("plugin.spring") version "1.9.23" } @@ -26,12 +27,15 @@ repositories { mavenCentral() } +extra["vaadinVersion"] = "24.3.9" + dependencies { implementation("org.springframework.boot:spring-boot-starter-graphql") implementation("org.springframework.boot:spring-boot-starter-hateoas") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-webflux") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") + implementation("com.vaadin:vaadin-spring-boot-starter") implementation("io.projectreactor.kotlin:reactor-kotlin-extensions") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") @@ -44,6 +48,12 @@ dependencies { testImplementation("org.springframework.graphql:spring-graphql-test") } +dependencyManagement { + imports { + mavenBom("com.vaadin:vaadin-bom:${property("vaadinVersion")}") + } +} + tasks.withType { kotlinOptions { freeCompilerArgs += "-Xjsr305=strict"