Serverless registration app for ijug events
  • Java 69.4%
  • HTML 30.6%
Find a file
dependabot[bot] 8f92770ada
All checks were successful
Docker Build / build (push) Successful in 1m48s
CI Build / build (push) Successful in 1m23s
chore(deps-dev): bump org.apache.maven.plugins:maven-surefire-plugin
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.4 to 3.5.6.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.4...surefire-3.5.6)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-version: 3.5.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-25 11:25:28 +02:00
.forgejo/workflows chore(forgejo): fix typo 2026-06-25 11:04:15 +02:00
.github exclude readme and github config files from docker workflow triggers 2026-06-12 12:01:57 +02:00
.mvn/wrapper maven wrapper updated 2026-05-31 14:27:19 +02:00
.run v3.0 (#10) 2026-05-31 12:42:52 +02:00
misc v3.0 (#10) 2026-05-31 12:42:52 +02:00
src Add admin log viewer at /admin/{tenant}/logs 2026-06-23 11:23:23 +02:00
.editorconfig upgrade to Quarkus 1.8 and remove all the custom https/ssl handling stuff/resources (this works now ootb) 2020-09-22 17:56:03 +02:00
.gitignore Add admin log viewer at /admin/{tenant}/logs 2026-06-23 11:23:23 +02:00
CLAUDE.md rename the docker image name after repo move 2026-06-12 12:01:57 +02:00
docker-compose.yml rename the docker image name after repo move 2026-06-12 12:01:57 +02:00
mvnw maven wrapper updated 2026-05-31 14:27:19 +02:00
mvnw.cmd maven wrapper updated 2026-05-31 14:27:19 +02:00
pom.xml chore(deps-dev): bump org.apache.maven.plugins:maven-surefire-plugin 2026-06-25 11:25:28 +02:00
README.adoc rename the docker image name after repo move 2026-06-12 12:01:57 +02:00

= JUG Registration App
:icons: font

https://quarkus.io[Quarkus]-based application.

== Usage / Integration Configuration

Should be embedded in an `<iframe>` on the page.

Root page is `/registration/{tenant}?eventId=...`.

=== Query Params

|===
|Param name |default |Note

|eventId
|-
|The eventId as `yyyy-mm-dd` (date in ISO format). Required.

|limit
|60
|Participant limit

|showPub
|false
|If `true`, the checkbox for pub participation will be shown, otherwise not.

|hideVideoRecording
|false
|If `true`, the checkbox for accepting video recording will be hidden, otherwise not.

|hybrid
|false
|If `true`, the checkbox for remote participation will be shown, otherwise not.

|deadline
|Date of eventId, 18:00:00+02:00
|ISO timestamp. Registration closes after given deadline.

|opensBeforeInMonths
|1
|Months before an event takes place the registration is available/opened

|===


== Development

=== Prerequisites

* JDK 21+
* 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 link:.run/ijug-registration.run.xml[provided IntelliJ run configuration]
* or by executing https://quarkus.io/guides/maven-tooling#development-mode[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`

TIP: 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

For runnint http requests manually, see link:misc/run-http-requests-manually.adoc[here].

== Build

There is a link:.github/workflows/docker.yml[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 `main` branch, then the image version tag will be `latest`
* on git tag pushes in format `v.1.2.3`, then the image version tag will be `1.2.3`

== Deployment

An example Docker Compose file is provided link:docker-compose.yml[here]:

[source,yaml]
----
include::docker-compose.yml[]
----

TIP: The production app should be available directly under https://registration.ijug.eu