Skip to content

Latest commit

 

History

History
114 lines (72 loc) · 4.04 KB

DEVELOPMENT.md

File metadata and controls

114 lines (72 loc) · 4.04 KB

LLAMARA - Development

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

./mvnw compile quarkus:dev

You can access the Quarkus Dev UI at http://localhost:8080/q/dev/. You can access Swagger UI at http://localhost:8080/q/swagger-ui.

You can log in with Keycloak at http://localhost:8080/q/dev-ui/io.quarkus.quarkus-oidc/keycloak-provider using the following credentials:

  • alice (admin & user role): password is alice
  • bob (user role): password is bob

After logging in, click on "Test Your Service" -> "Swagger UI" to open the Swagger UI as an authenticated user.

You can also access the Keycloak admin console through the Dev UI, use admin as the username and admin as the password.

Formatting the code

This project is using Spotless Maven Plugin for code formatting. You can format your code using:

./mvnw spotless:apply

Adding the license header

This project is using License Maven Plugin for adding the license header to the source files.

You can add the license header to your source files using:

./mvnw license:update-file-header

Upgrading the application

To upgrade Quarkus execute the following command:

./mvnw quarkus:update -N

Always check the pom.xml file afterward and sync related dependencies.

Other dependencies have to be upgraded manually in the pom.xml file.

Configuring the application

LLAMARA comes with a default configuration for development that utilises Quarkus Dev Services to provide all required external dependencies. If you don't want to use the dev services, but rather provider your own configuration for the databases and object storage, you can do so by providing an application.yaml file in the config directory. Use the dev-external profile:

"%dev-external":
  ...

Documentation

CDI

Configuration

REST

Hibernate ORM/Reactive

MinIO

Redis

OIDC / Keycloak

LangChain4j

Reactive Programming