# 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)