Retrieve scanned documents along with information extracted with OCR engine. Store the images and let recipient services fetch the new data.
- JDK 21
- Project requires Spring Boot v3.x to be present
- Clone the repository
- Ensure all required environment variables have been set.
An alternative faster way getting started is by using the automated setup script. This script will help set up all bulk scan/print repos including bulk-scan-processor and its dependencies. See common-dev-env-bsbp repository for more information. Once set up script has ran successfully you can move the bulk-scan-processor from the newly created common-dev-env-bsbp/apps directory to your desired location.
The project uses Gradle as a build tool. It already contains
./gradlew wrapper script, so there's no need to install gradle.
To build the project execute the following command:
./gradlew buildYou will either need to add a .env file if one does not already exist, or add environment variables to your Application tasks configuration.
If you choose to add a .env file, you will need to add all the environment variables listed in the application.yaml file.
For example, ${BULK_SCANNING_DB_PASSWORD:} in the application.yaml file will need to be added as BULK_SCANNING_DB_PASSWORD="value from keyvault" in your .env file.
Create the image of the application by executing the following command:
./gradlew assembleApplication listens on port 8581 which can be overridden by setting SERVER_PORT environment variable or from .env file.
The application depends upon certain components that are already up and running. Configuration details for each component can be changed by passing values in environment variables:
BULK_SCANNING_DB_HOSTBULK_SCANNING_DB_PORTBULK_SCANNING_DB_NAMEBULK_SCANNING_DB_USER_NAMEBULK_SCANNING_DB_PASSWORD
STORAGE_ACCOUNT_NAMESTORAGE_KEYSAS_TOKEN_VALIDITY
DOCUMENT_MANAGEMENT_URLworking endpoint URL
S2S_URLworking endpoint URLS2S_NAMEservice nameS2S_SECRETservice secret
Please find more details in infrastructure/main.tf file.
Smoke tests expect an address of deployed application to be passed in TEST_URL environment variable. For example:
TEST_URL=http://localhost:8561 ./gradlew smokeBy default, it will use http://localhost:8581 which is defined in src/smokeTest/resources/application.yaml.
./gradlew integrationTo run migration gradle task expects FLYWAY_URL to be present. In case db requires username/password: FLYWAY_USER and FLYWAY_PASSWORD. Once those variables are exported all flyway tasks are available.
./gradlew flywayMigrateThis project is licensed under the MIT License - see the LICENSE file for details