Installation
Build and run locally
Sunbeam is a Maven Spring Boot application. From the repository root, use the checked-in Maven wrapper:
./mvnw test
./mvnw spring-boot:run
The application listens on port 8080 by default when started by Spring Boot. The repository does not provide a separate health endpoint; verify startup from the process logs and verify the grading route with the request in the quick start.
The wrapper downloads Maven 3.9.14 when needed. The project compiler target is Java 25.
Native OCR setup
Install Tesseract 5.x using the operating system package manager. On Ubuntu or Debian, the repository README uses:
sudo apt install tesseract-ocr tesseract-ocr-vie
Create the local data directory and copy the language data used by the application:
mkdir -p tessdata
cp /usr/share/tesseract-ocr/5/tessdata/vie.traineddata tessdata/
cp /usr/share/tesseract-ocr/5/tessdata/eng.traineddata tessdata/
TesseractOcrServiceImpl points Tesseract at the repository-relative tessdata directory and selects the vie language. The eng file is included in the repository setup instructions but the service does not select it in code.
What installation does not configure
The repository has no documented authentication setup, request-size limit, database, external service, or production deployment configuration. Do not expose the unauthenticated endpoint to an untrusted network; see deployment safety.