All BlueprintsEducation

Class attendance register

A register for one class: the tutor marks who turned up, each learner sees their own record and the rate it adds up to, a mistake can be put right where everybody can see it was, and the whole term comes out as a file an administrator can act on.

L2–L4Level range
8Sprints
37Tasks
Backend and frontendBuilt as

What you’ll build.

By the last sprint

A class register. Tutors set up a class and the days it meets, mark everybody present, late, absent or excused, and fix mistakes where the student can see they were fixed. Students see their own record and nobody else's. At the end of term it all downloads as a file that matches the screen it came from.

What you’ll learn.

Each sprint is built around one skill. You show you have it in a pull request your team reviews, then explain it in a walkthrough.

Authentication

You can register and sign in a user, keep a request authenticated without asking for the password again, and explain where the credential lives in the browser and why there rather than somewhere else.

Scheduling a live session

You can schedule a session, show its time correctly for a learner anywhere in the world, and open joining only in the window where it makes sense.

Taking attendance

You can mark attendance for a session, correct a mistake after the fact, and produce a per-student rate that still holds up after the correction.

Roles and permissions

You can give users different roles and have the server refuse what a role may not do — not merely hide the button — and show the refusal working against a request the interface never offered.

Statements that reconcile

You can generate a statement for a date range that adds up, downloads, and returns the same figures when it is generated again next month.

Going live

Somebody who has never met you can open a URL and use the product — and you can say what is different about the copy running there, where its secrets come from, and what you do when a release turns out to be wrong.

The roadmap. 8 sprints, 37 tasks.

Every sprint has a goal and a set of tasks. Open a sprint to see the tasks you will pick up.

Sprint 01

Getting in

Somebody can make an account and come back to it, and a tutor account is not something anybody can issue themselves.

4 tasks
  1. A learner can register and land signed in
  2. Coming back tomorrow without signing in again
  3. Signing out on a classroom machine means something
  4. Tutor accounts exist, and cannot be self-issued
Sprint 02

A class, and the days it meets

A tutor sets up a class with a roster and a meeting pattern, and the term appears as a list of dated sessions.

4 tasks
  1. A tutor sets up a class and names who is in it
  2. The class says when it meets, and the term appears as dates
  3. The week the clocks change, the class still meets at nine
  4. Somebody who joins in week five was not absent for weeks one to four
Sprint 03

Four ways to be missing

A tutor marks a session in under a minute, and present, late, absent and excused stay four different things.

5 tasks
  1. A tutor opens today's session and takes the register
  2. Late and excused are not two kinds of absent
  3. A register nobody took is not a room where nobody came
  4. Thirty learners marked without thirty decisions
  5. The tutor can see which registers were never taken
Sprint 04

A number somebody can defend

Every learner has an attendance rate, and the tutor can say exactly what it counted and what it left out.

5 tasks
  1. Every learner has a rate, and so does the class
  2. An excused absence neither punishes nor flatters
  3. Lateness does not vanish into presence
  4. The rate shows its working
  5. A learner drifting away is visible in week four
Sprint 05

Their own record, and nobody else's

A learner reads their own attendance and their own rate, and the server is what stops them reading anybody else's.

5 tasks
  1. A learner opens their own record
  2. One learner cannot read another learner's record
  3. A learner cannot open the register, or change a mark
  4. Every refusal is proved against a request the screens never offered
  5. A tutor's classes are their own, not the school's
Sprint 06

Marked absent, was there

A mark can be put right after the session, and the correction is something the learner can see rather than something that happened to them.

4 tasks
  1. A tutor can put a mark right after the session
  2. A correction is visible, not silent
  3. A learner can say the register is wrong
  4. Nobody can rewrite a term without a trace
Sprint 07

The term as a file

A term downloads as a file that names the period it covers, agrees with the screen it was made from, and does not change after it has been handed in.

5 tasks
  1. A tutor downloads a term as a file
  2. The file says what it covers, and what it does not know
  3. The file agrees with the screen it was made from
  4. A file handed in last month still says what it said
  5. The periods nobody tested: half a term, an empty one, half a membership
Sprint 08

Where a school reaches it

The register is on the internet at an address a school could print, and the person who built it is not part of how it stays there.

5 tasks
  1. A tutor can reach it without the developer
  2. Nothing that matters only exists on the laptop
  3. The term file downloads from there, and opens
  4. An address a school could print
  5. A bad release can be undone before the next session

Read before you build. The best engineers do.

Senior engineers read the docs before they touch the code. Every Blueprint comes with short documents on the product and its world, the kind a team hands a new hire. Read them well and you ask sharper questions and walk into every review prepared.

What you are building

The product, the two people who use it, and what finished means.

What a register is actually for

Who reads attendance data, what they do with it, and why that makes the record evidence rather than a log.

Build class attendance register.

Start your free week. Adaeze runs your kickoff, and Lars reviews every pull request.