Skip to content

Latest commit

 

History

History

web_backend

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Teamagochi Web-Backend

The backend for the Teamgochi project, build with the Quarkus Java Framework.

Explore the docs

Usage

The development environment can be started by using the Quarkus CLI, the .\mvnw.cmd script (Windows) or the equivalent ./mvnw (Linux).

quarkus dev

# Maven
./mvnw compile quarkus:dev
.\mvnw.cmd compile quarkus:dev

Run quarkus --help, ./mvnw quarkus --help or .\mvnw.cmd quarkus --help to display help and all available commands. Read more about the development mode or about the command line interface in general.

Extensions

The following table contains all used Quarkus Extensions.

Name Links Why?
REST Docs, Info Create and provide REST services
REST Jackson Docs, Info Jackson serialization (JSON) support for REST extension
REST Client Docs, Info Call REST services, support receiving Server-sent events (SSE)
REST Client Jackson Info Jackson serialization (JSON) support for the REST Client
Hibernate ORM with Panache Docs, Info Domain model persistence for relational databases using the the repository pattern
JDBC Driver - PostgreSQL Docs, Info Connect to the PostreSQL database via JDBC
JDBC Driver - H2 Docs, Info Connect to the H2 database via JDBC
Container Image Docker Docs, Info Build container images of your application using Docker
OpenID Connect Docs, Info Verify Bearer access tokens and authenticate users with Authorization Code Flow
Keycloak Authorization Docs, Info Policy enforcer using Keycloak-managed permissions to control access to protected resources
SmallRye JWT Docs, Info Secure your applications with JSON Web Token
SmallRye OpenAPI Docs, Info Document your REST APIs with OpenAPI - comes with Swagger UI
Scheduler - tasks Docs, Info Schedule jobs and tasks

Container image

The image is build with the quarkus-container-image-docker extension using the configuration in src/main/resources/application.properties. See the official guide.

To build the image locally, run install with the prod profile. Tests can be skipped to minimize the build time.

./mvnw install -DskipTests -Dquarkus.profile=prod

The image can be pushed to the GitHub container registry, but a login is required. Publishing is enabled by adding the publish profile.

echo $PERSONAL_ACCESS_TOKEN | docker login ghcr.io -u <USERNAME> --password-stdin

# Build and publish
./mvnw install -Dquarkus.profile=prod,publish