Docs
search Esc
v10.48.0 Attendance & ID Cards

Headmaster LMS

The school-management dashboard built into every classroom server: enroll learners, run scan-based attendance with printable student ID cards, post announcements, set term dates, and export whole-school reports — all fully offline.

Opening the LMS

The LMS runs on the classroom server itself (not the cloud hub). While the server is running, open:

http://localhost:3000/lms

Sign in with a teacher account. Who gets in:

RoleAccess
Head teacherEverything, including assigning deputies and granting teacher permissions
DeputyEverything except changing staff roles (deputies are assigned by the head teacher)
Teacher with grantsOnly the tabs matching their granted permissions (see below)
info
Plan tiersFree-tier schools get the basic LMS (overview and staff roles). Attendance, announcements, terms, and reports require a paid plan or the Free Trial. See Plan Comparison →.

Teacher Permissions

The head teacher (or a deputy) can grant individual teachers access to specific LMS areas from Staff & Roles — tick any of:

  • learners — the Learners tab (enrollment, roster, ID cards)
  • attendance — registers and scan check-in
  • announcements — posting school announcements
  • reports — whole-school reports
  • calendar — term dates

Granted teachers sign into the LMS and see only their permitted tabs. Grants and revocations take effect immediately — no re-login needed.

Enrolling Learners

The Learners tab owns the whole onboarding journey:

  1. Single enroll — type the learner's name; the form suggests a username, generates a PIN, and offers a class picker and avatar. On success, a strip shows the sign-in credentials with one-click Print ID Card and Write NFC Tag actions.

  2. Bulk enroll — paste one learner per line as Name, username, pin, class (username/pin/class optional). Errors are reported per line; valid lines still enroll.

  3. Roster — search, filter by class, print any learner's ID card, write their NFC tag, or (admins only) remove a learner.

Hand each learner their username and PIN — that is what they use to sign in on the student portal.

Student ID Cards

Every learner gets a printable ID card at true credit-card size (85.6 × 54 mm when printed at 100%): school name, avatar, learner name, class and username, a short ID, and a signed attendance QR code. One card is both the student ID and the attendance badge. PINs are deliberately not printed on cards.

Print cards per learner (from the roster or the enroll success strip), per class, or for the whole school — the sheet opens in a new tab with cut-out cards ready for any printer. Cards are rendered by the server (POST /api/lms/students/id-cards.html) with zero network dependencies, so printing works fully offline.

warning
Badges are forgery-proof — and install-specificQR codes are signed with the install's persistent secret, so a code cannot be guessed from a student ID. A factory reset of the server invalidates all existing badges — regenerate and reprint after a reset.

Attendance Check-In

Students check themselves in at the door by scanning their ID card. Three scan paths cover any hardware:

MethodHardwareNotes
Camera QRAny device with a cameraUses the browser's built-in barcode detector (Chrome/Edge). Needs a secure context — localhost works out of the box; LAN devices should trust the server certificate via /trust first.
NFC tagNFC tags/stickers + Android phoneWrite a learner's badge to a tag from the LMS, then tap to check in (Chrome on Android over HTTPS).
Barcode scannerAny USB or Bluetooth scannerKeyboard-wedge input — works in every browser with zero setup. The most reliable path.

How marks are decided:

  • Scans up to the school's cutoff time mark present; later scans mark late. The cutoff (default 08:15) is configurable on the Attendance tab by the head teacher or a deputy.
  • Re-scans never downgrade an existing mark — the live feed reports "already marked".
  • Manual corrections stay in the register view; scanning is append-only.
  • The live feed shows per-class tally pills with audio feedback per scan.

Export the register any time as CSV (per-student rows with date, class, status, and check-in time) — it opens cleanly in Excel and Google Sheets.

Announcements, Terms & Reports

  • Announcements — post school-wide or audience-targeted notices; students and teachers see them on their portals.
  • Terms — set the school year's term dates, used by reports and summaries.
  • Reports — whole-school learning reports with CSV export for records or district submission.

The Full Journey

  1. Enroll learners in the Learners tab (single or bulk)

  2. Print ID cards per class or for the whole school

  3. Scan at the door each morning — teacher scans cards, or a fixed device at the door lets students self-scan

  4. Review & export — live tallies during the morning, register corrections and CSV export any time