This starter template is configured with Java 21, Gradle 8.5, and uses Kotlin.
Make sure to have the correct JDK and gradle versions, as well as postgresql instance running.
- To start the project locally, first run this:
# this does a few things:
# Generates the JOOQ classes
# Generates OpenAPI 3 docs
make build/local
- Start the application in your IDE with local profile (I use IntelliJ IDEA, and set the
Active Profile
tolocal
in the run configuration) - Go to
localhost:4001/greeting
to see the response - Go to
localhost:4001/swagger-ui-local.html
to see the API document in Swagger UI
To build the production docker image, run:
make build/image/prod
To run the production docker image,
you need a postgresql instance running in a docker container
with a network bridge named postgres-bridge
.
make run/image/prod
- There is a compose.yml to run postgresql locally, you can start it by
make start/db
- Add a CI/CD pipeline with Github Actions
- Figure out testing, both unit and integration tests (using testcontainers)
- Figure out how to test on the CI