Skip to main content

Sunbeam

Sunbeam grades a fixed-layout, 40-question multiple-choice answer sheet. It accepts a sheet image and a CSV answer key, reads two fixed OCR fields, detects marked bubbles, and returns a calculated grade.

This documentation follows the Java source as the authority. Sunbeam is currently suitable only for trusted deployments. The endpoint has no authentication, request limits, upload validation, structured error contract, or controlled debug output.

What is implemented

  • POST /api/v1/grade accepts two multipart parts: image and answers.
  • The OMR detector expects 40 questions, four choices (A through D), and one particular 800 x 1200 aligned sheet geometry.
  • The runtime OCR service uses Tesseract with Vietnamese (vie) data and page segmentation mode 6.
  • A grading result contains extracted identity fields, detected answers, and a score out of 10.

Start here

  1. Review prerequisites and local installation.
  2. Read the grade endpoint contract, including its generic error behavior.
  3. Confirm that the fixed sheet layout matches your form.
  4. Read the deployment boundary and known limitations before exposing the service to other users.