- Java 77.6%
- HTML 22.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| .github | ||
| .mvn/wrapper | ||
| .run | ||
| docs | ||
| misc | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| mvnw | ||
| mvnw.cmd | ||
| pom.xml | ||
| README.adoc | ||
Quarkus-based application.
Usage / Integration Configuration
A detailed handbook for JUG orga teams — embedding into your own website, events file, e-mails and admin area — is available (in German) in docs/handbuch.adoc.
Development
Prerequisites
-
JDK 25+
-
IDE
-
Maven 3.9+ (Maven wrapper is included)
-
Docker (for local development using the Quarkus DevServices)
Development with default dev profile
For local development, simply power up the Quarkus application
-
either by using the provided IntelliJ run configuration
-
or by executing Quarkus Development Mode on the command line (terminal):
mvn compile quarkus:dev
This starts Quarkus in dev profile mode and also starts up all required external systems as devservices, like the PostgreSQL database, Mailpit smtp dev server, Keycloak for authentication.
-
(Optional) Build application:
mvn clean package
| You can now change classes, configurations and other resources on the fly, and Quarkus will automatically reload on the next call. |
Run HTTP requests to test registration
-
Registration: http://localhost:8080/registration/test?eventId=2026-12-31&opensBeforeInMonths=8
-
Admin: http://localhost:8080/admin/test/events (User: alice/alice)
-
Mailpit: http://localhost:8080/q/dev-ui/quarkus-mailpit/mailpit-ui
-
Health: http://localhost:8080/q/health
For runnint http requests manually, see here.
Build
There is a GH action to build and push a (multi-platform arm64/amd64) Docker image to ghcr.io/ijug-ev/registration:<version>.
This action runs either
-
on pushs to
mainbranch, then the image version tag will belatest -
on git tag pushes in format
v.1.2.3, then the image version tag will be1.2.3
Deployment
An example Docker Compose file is provided here:
Unresolved directive in <stdin> - include::docker-compose.yml[]
| The production app should be available directly under https://registration.ijug.eu |
Monitoring
The app exposes the standard MicroProfile Health endpoints, unauthenticated, on the regular port:
-
/q/health/live— the process is alive -
/q/health/ready— alive and the database is reachable -
/q/health/started— startup has finished -
/q/health— all of the above in one response
An uptime monitor should poll /q/health/ready; that is also what the Docker Compose healthcheck above uses.