No description
Find a file
2024-07-09 08:58:05 +02:00
doc [skip ci] Cleanup dev_notes 2024-07-09 08:58:05 +02:00
frontend Prebuild commit - build graalvm bin in phase 1, use bin to stage app in phase 2 2024-06-20 22:05:15 +02:00
gradle/wrapper Installing graalvm and usage to build binary for deploying, need some improvements 2024-06-14 17:41:12 +02:00
image No need for https Port number 2024-06-28 10:23:02 +02:00
src Fix test 2024-07-05 08:17:29 +02:00
.gitignore add __pycache__/ to .gitignore 2024-06-26 12:03:58 +02:00
.gitlab-ci.yml Further try to run Test only in CI 2024-07-08 12:29:32 +02:00
build.gradle Some Docker improvemennts to build graalvm binary 2024-06-25 07:46:00 +02:00
build.py Fix test 2024-07-05 08:17:29 +02:00
gradle.properties Some further improvements 2024-06-19 17:04:54 +02:00
gradlew Member Names external by application.properties 2024-06-13 10:08:32 +02:00
gradlew.bat first commit 2024-06-06 17:45:46 +02:00
LICENSE first commit 2024-06-06 17:45:46 +02:00
package-lock.json Prebuild commit - build graalvm bin in phase 1, use bin to stage app in phase 2 2024-06-20 22:05:15 +02:00
package.json Prebuild commit - build graalvm bin in phase 1, use bin to stage app in phase 2 2024-06-20 22:05:15 +02:00
README.md [skip ci] Cleanup dev_notes 2024-07-09 08:58:05 +02:00
settings.gradle first commit 2024-06-06 17:45:46 +02:00
tsconfig.json first commit 2024-06-06 17:45:46 +02:00
types.d.ts first commit 2024-06-06 17:45:46 +02:00

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