This application is responsible for handling all CCD callback requests for Employment Tribunal cases.
| Component | Version | Status |
|---|---|---|
| Java | 21 | ✅ Supported |
| Spring Boot | 3.3.0 | ✅ Current |
| Spring Security | 6.x | ✅ Current |
| Node.js | 18+ | ✅ Supported |
| Gradle | Wrapper | ✅ Current |
⚠️ Breaking Change: Java 21 is now required. Java 17 and earlier versions are no longer supported.
The project uses Gradle as a build tool but you don't have to install it locally since there is a
./gradlew wrapper script.
To build project please execute the following command:
./gradlew buildTo get the project to build in IntelliJ IDEA, you have to:
- Install the Lombok plugin: Preferences -> Plugins
- Enable Annotation Processing: Preferences -> Build, Execution, Deployment -> Compiler -> Annotation Processors
You can run the application by executing following command:
./gradlew bootRunThe application will start locally on http://localhost:8081
Flyway migrations are stored in src/main/resources/db/migration.
If you already have an existing ethos schema (prod-like, no Flyway history yet), run migration first:
FLYWAY_URL=jdbc:postgresql://localhost:5050/ethos \
FLYWAY_USER=ethos \
FLYWAY_PASSWORD=ethos \
./gradlew migratePostgresDatabaseThen start the app without startup migration:
RUN_DB_MIGRATION_ON_STARTUP=false ./gradlew bootRunIf your database is fresh/empty (but database/user already exist), you can start directly:
./gradlew bootRunbootRun (default RUN_DB_MIGRATION_ON_STARTUP=true) will apply Flyway migrations on startup for empty databases.
API documentation is provided with Swagger: UI to interact with the API resources
http://localhost:8081/swagger-ui.htmlLogin to Azure CLI
az loginLogin to ACR
az acr login --name hmctspublicBuild the docker image
docker build . -t hmcts/ethos-repl-docmosis-service:latestRun the service with all its dependencies
docker-compose -f docker/app.yml up -dTo stop the service
docker-compose -f docker/app.yml downTo run all unit tests please execute following command:
./gradlew testTo run all checks (including unit tests) please execute following command:
./gradlew checkThis project is licensed under the MIT License - see the LICENSE.md file for details.