Skip to content

quarkusio/code.quarkus.io

Repository files navigation

Code Quarkus App

Tests Version

The structure of this Web app is a bit special as it is possible to extend and customize it. It is what we could call a Fullstack React library thanks to the power of the Quarkus Web Bundler. It also contains our community implementation for code.quarkus.io.

📁 ./web-deps contains all the web dependencies for the library, it is split in its own module to allow the library to be used in other Quarkus apps.

📁 ./base is the base library, it contains the Api and the Code Quarkus React library, it also contains the Community App for dev purposes (you can remove it if you provide your own).

📁 ./community-app is the community-app Quarkus app, it uses the base library without doing much as it directly use the Community App inside it.

📁 ./acceptance-test are the test which run to auto promote new versions to production

https://github.com/redhat-developer/code.quarkus.redhat.com is an example of how this can be extended and customized.

Development

Api is located in base/src/main/java UI is located in base/src/main/resources/web/

Use this command to start community-app dev mode on: http://0.0.0.0:8080 (Api and UI).

# Install the parent pom and web-deps
./mvnw clean install -N;./mvnw clean install -f web-deps

# Start the dev mode
./mvnw quarkus:dev -f base

Build the app locally:

mvn clean install -Dlib -Dcommunity-app

After building, use this command to start the community-app in production mode:

java -jar community-app/target/quarkus-app/quarkus-run.jar

Staging

Staging is auto-updated with main (it takes ~15min to refresh after a merge): https://stage.code.quarkus.io

You can check deployed commit hash on: https://stage.code.quarkus.io/api/config

Promote to production

It is automated based on the acceptance tests

API Documentation