This is a Java springboot API used in the Find a Court or Tribunal service.
There are two supported ways to deploy the application locally
- Ensure you have Java 21 installed on your machine.
- Clone the repository to your local machine.
- Open the project in IntelliJ.
- Start the local database with
docker-compose up fact-database -dfrom the terminal in the project root directory. Postgres will be exposed on port5999 - Run the
Applicationclass in Application.java. - You may need environment variables set up for the application to run correctly. You can set these in Intellij by going to
Run > Edit Configurations > Environment Variables. - The application should now be running and accessible at
http://localhost:8989.
- Ensure you have Docker installed and running on your machine.
- Clone the repository to your local machine.
- Navigate to the project directory in your terminal.
- Run the following command to build the local code into a Docker image and deploy the database
./deploy_local_docker.sh
- The application should now be running and accessible at
http://localhost:8989.
The migration sub-module exposes a helper endpoint that imports data from the legacy FaCT application.
- Configure the legacy API base URL via the
FACT_MIGRATION_SOURCE_BASE_URLenvironment variable (defaults tohttp://localhost:8080). Values can be stored in a local.envfile. - Execute the migration by calling
POST /migration/import. The endpoint deserialises the legacy export payload and stores it through the new JPA entities. - The migration is designed to run once. Subsequent calls return
409 Conflict, ensuring the legacy endpoint is not invoked again unless the database is reset manually.
This project is licensed under the MIT License - see the LICENSE file for details