Quarkus Framework codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.
This codebase was created to demonstrate a fully fledged fullstack application built with Quarkus including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the Quarkus community styleguides & best practices.
For more information on how to this works with other frontends/backends, head over to the RealWorld repo.
This application basically uses Quarkus Framework with Java 21 with some other modules known to development community:
- Hibernate
- Jackson for JSON
- H2 in memory database
- JPA Criteria
- Auth0 java-jwt
application/ -> business orchestration layer
+-- web/ -> web layer models and resources
domain/ -> core business implementation layer
+-- model/ -> core business entity models
+-- feature/ -> all features logic implementation
+-- validator/ -> model validation implementation
+-- exception/ -> all business exceptions
infrastructure/ -> technical details layer
+-- configuration/ -> dependency injection configuration
+-- repository/ -> adapters for domain repositories
+-- provider/ -> adapters for domain providers
+-- web/ -> web layer infrastructure models and security
./mvnw compile quarkus:dev
The server should be running at http://localhost:8080
./mvnw test
./collections/run-api-tests.sh
./mvnw package
GraalVM is necessary for building native executable, more information about setting up GraalVM can be found in Quarkus guides and database engine need to be changed.
./mvnw package -Pnative
# Database configuration
quarkus.datasource.db-kind=h2
quarkus.datasource.jdbc.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
quarkus.datasource.jdbc.driver=org.h2.Driver
quarkus.datasource.username=sa
quarkus.datasource.password=
Improvements are welcome, feel free to contribute.