Modern aviation training management suite with a focus on simplicity and correctness.
- Java 25
- Docker
Copy the example env file and fill in your passwords (only needed once):
cp .env.example .envStart Postgres:
docker compose up postgres -dRun the app:
./mvnw spring-boot:run -Dspring-boot.run.profiles=devSwagger UI: http://localhost:8080/swagger-ui.html
Health: http://localhost:8080/actuator/health
To run the app from IntelliJ with the dev profile:
- Open Run > Edit Configurations
- Select the
SitrepApplicationconfiguration - Set Active profiles to
dev
Alternatively, add -Dspring.profiles.active=dev to the VM options field.
Build the JAR, then the image:
./mvnw package -DskipTests
docker build -t sitrep:local .Start the full stack:
docker compose up./mvnw verifyTests use Testcontainers — Docker must be running.
- Create
src/main/java/dev/bravozulu/sitrep/<module>/package-info.javaannotated with@ApplicationModule - Add
api/for the public interface other modules can depend on - Add
internal/for everything else — entities, repositories, service implementations, controllers
Spring Modulith enforces that other modules cannot access internal/ packages. The ModulithVerificationTest will fail if a boundary is violated.