mirror of
https://github.com/ijug-ev/registration.git
synced 2026-09-28 15:32:35 +02:00
Serverless registration app for ijug events
- Java 77.3%
- HTML 22.7%
| 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 | ||
= JUG Registration App :icons: font https://quarkus.io[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 link:docs/handbuch.adoc[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 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