diff --git a/README.md b/README.md new file mode 100644 index 0000000..5bf24cf --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# meapp-fullstack: ModeratorElection + +## Purpose + +**ModeratorElection** provides a fullstack java app development as **graalvm binary** containing: +* Java app to elect a team member from a comma separated list delivered by environment variable +* Backend Spring Boot embeded Tomcat® Server +* Frontend Vaadin Framework +* Dockerfile to generate multi stage image, + first stage compilation to graalvm binary, second stage as run stage - graalvm binary execution + +## Try out +Development phase is completed, we will deploy production soon - reachable at +https://meapp-fullstack.jitsi.prod.meissa.de + +## Setup +* in **IDE development**, run + `./gradlew clean vaadinPrepareFrontend` +* build **jar file** +`./gradlew clean build -Pvaadin.productionMode` +-> output jar to build/libs/ +* compile **native-image graalvm binary** + (1) use graalvm agent to announce project dependencies +```shell +java -agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image -jar build/libs/ModeratorElection-0.0.1-SNAPSHOT.jar +``` + (2) +`./gradlew nativeCompile -Dvaadin.productionMode=true` +-> output binary and necessary libs to build/native/nativeCompile/ +* **py builder/build.py** usage recommendation: +`pyb ` to either create docker image, publish docker image, run test or dry run. +py builder is using **meissa PyPi package ddadevops** for smart deployment. + +## Get help +`./gradlew tasks` + +## Development & mirrors + +Development completed at: +https://repo.prod.meissa.de/meissa/ModeratorElection + +Mirror: +https://gitlab.com/domaindrivenarchitecture/ModeratorElection (CI) + +## License + +Copyright © 2024 meissa GmbH +Licensed under the [Apache License, Version 2.0](LICENSE)