A central scanner for batch scanning of ballots, often used for absentee ballot processing.
Follow the instructions in the VxSuite README to get set up, then run the app like so:
# In apps/central-scan/frontend
pnpm start
The server will be available at http://localhost:3000.
pnpm test
To scan ballots without scanner hardware, use the MOCK_SCANNER_FILES
environment variable.
# Single batch with single sheet
MOCK_SCANNER_FILES=front.jpeg,back.jpeg pnpm start
# Single batch with multiple sheets
MOCK_SCANNER_FILES=front-01.jpeg,back-01.jpeg,front-02.jpeg,back-02.jpeg pnpm start
# Multiple batches with one sheet each (note ",," batch separator)
MOCK_SCANNER_FILES=front-01.jpeg,back-01.jpeg,,front-02.jpeg,back-02.jpeg pnpm start
# Use a manifest file
cat <<EOS > manifest
# First batch (this is a comment)
front-01.jpeg
back-01.jpeg
# Second batch
front-02.jpeg
back-02.jpeg
EOS
MOCK_SCANNER_FILES=@manifest pnpm start
# Use an election backup file
./bin/extract-backup /path/to/election-backup.zip
MOCK_SCANNER_FILES=@/path/to/election-backup/manifest pnpm start
To force requires_adjudication
of ballots, run this in
apps/central-scan/backend
:
sqlite3 dev-workspace/ballots.db 'update sheets set requires_adjudication = 1;'