A starter template for building backend applications with Quarkus, the supersonic-subatomic Java framework.
- ⚡ Quarkus, the supersonic Java framework with fast boot, hot reload, and cloud-native design
- 🌀 Reactive programming with Quarkus built-in support for Mutiny
- ⚙️ Hibernate Reactive for fully non-blocking database access
- 🐘 PostgreSQL as the production-ready relational database
- 🧳 Flyway for version-controlled database migrations
- 📂 Defined project structure with ready-to-use
application.properties - 🧪 JUnit unit tests to keep code honest
- 📈 Micrometer for application metrics and observability
- ⏩ Develocity build cache enabled for accelerated builds
- 🛠️ Makefile targets for format, build, run, and container tasks
- 🧹 Spotless on
validatephase and with apre-commithook for style enforcement - 🖊️ VS Code and IntelliJ IDEA settings included
- ☁️ Firebase Studio settings for cloud-based development
- 🎨 google-java-format for consistent code formatting
- 📄 .editorconfig for consistent coding styles across editors
- 🐳 Containerization with Dockerfile and docker compose
- 🦦 Automatic Podman/Docker detection for local dev
- 🚦 GitHub Actions and Bitbucket Pipelines for CI/CD
- 🏷️ Artifact versioning based on Git SHA or tag, both in CI/CD and local builds
- 🤖 Dependabot for automated dependency updates
-
Before you start development on this project, run the prep target. This will install a hook that would check your commit for code formatting issues.
make prep
-
Run the application in dev mode that enables live coding. Quarkus dev UI would be accessible at http://127.0.0.1:8080/q/dev-ui/welcome.
make dev
-
To format the code, enable google-java-format and in your IDE and turn on the auto-formatting on save. You may also run spotless plugin manually.
make format
-
Build the application
make build # OR make container-build -
Run the application
make run # OR make container-run
The Quarkus Template is licensed under the terms of the MIT license.