Course player (P21)
Lectern is a course player. Its course teaches web accessibility with WCAG 2.2 at level AA in four lessons, with a quiz of three questions after each and a certificate at the end.
Joining
A learner joins with a name and a passkey. The server checks the passkey as the club in P15 does and keeps a session in a cookie the page cannot read. Signing in again with the passkey brings the progress back.
Lessons and quizzes
A lesson counts as read when its end has been on the screen. The page tells the server, and the quiz opens. The page sends the answers, and the server grades them from its own copy. The page never receives the right answers, only whether each one was right and why. A quiz is passed with 2 of 3 right, and the best try counts.
The certificate
When every quiz is passed, the server issues one certificate per learner. It signs the code, the name, the course, the date and the score with an Ed25519 key that stays on the server. The page writes the certificate as a PDF with the PDF writer from P10 and Inter embedded. The PDF holds the code, a link to the check page and a QR code of the link.
The check page fetches the certificate by its code, writes the signed text again from its fields, and verifies the signature in the browser with the course's public key. A certificate with a changed name, date or score fails.
The course's owner
The Learners page shows each learner's lessons read, quizzes passed, score and certificate.
Previous: Stock scanner (P18). Next: Connections (P22).