ModeratorElection/README.md

1.7 KiB

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
MEMBERNAMES=er,sie,es 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 <task> 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