Running it at your school

ICT Setter is not a cloud service. It runs on one server at your school, a Windows PC or server is enough, and your papers, candidates and their answers never leave it.

What it runs on

  • One program serves both apps, ICT Setter and Assessment, with one database and one installer. Candidates sign in to the same server from the school's computers.
  • A separate worker prints the papers and draws the diagrams, so a long export never holds up the people using the site.
  • It is sized for a school: the Windows set-up is planned for fewer than ten people working at the same time, on a SQLite database.

What the server needs

Software For
Node.js 22.12 or newer The apps themselves
Python 3.11 or newer Building the Word documents, and the answer checker
LibreOffice PDF previews, PDF papers and PDF reports
A TeX distribution and Poppler Diagrams (TeX Live or MiKTeX, with dvisvgm and pdftocairo)
The exam fonts Kept with the software; installed in one step
g++ and Free Pascal Optional: testing C++ and Pascal answers

Installing on Windows

The Windows kit installs the apps as two Windows services, the website and the worker, behind an HTTPS reverse proxy (Caddy), with the website itself listening only on the server. Your data lives outside the program folder, so updating replaces the program and leaves the data alone. The kit has scripts to install, start, stop, update, back up and restore, and a check that the data is intact after a restore.

A menu instead of memorised commands

Everyday commands are on a numbered menu: ./menu on macOS and Linux, menu on Windows. Each entry shows the real command before it runs, and anything that replaces data asks first.

Entry Does
69 Installs whatever is missing: Node.js, Python, LibreOffice, TeX, the PDF tools, the compilers and the fonts (winget on Windows, Homebrew on macOS, apt or dnf on Linux). Safe to run again.
19 First-time setup: packages, configuration, the database, then a health check
21 Starts everything for development
39 Runs every check the project's own tests run
41–47 Database snapshots: save, restore, or start over with demo data

Accounts and access

  • Accounts are by invitation: an administrator invites each colleague.
  • Papers are private to their owner until shared. In Assessment, staff see only the exams they have a role in.
  • Candidates are not accounts. Each one exists only within an exam, with a one-time secret printed on their slip.
  • The print layouts come in template packs, which an administrator checks and approves before anyone can use them.

For everyone using it

  • The whole interface is in English or Hong Kong Traditional Chinese, and in light or dark mode.
  • Both apps have a help page and guided tours for each role: setter, paper owner and administrator; manager, invigilator, marker, viewer and candidate.
  • Terms on screen use plain names, with a glossary for the exam ones.

Trying it out

A demo brings up staff in every role, a mock paper and three exams. A second scenario adds the real HKDSE papers transcribed into ICT Setter, already run as exams, so every screen has something real on it.