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.
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 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
It is automated based on the acceptance tests