Crit Rooms

Crit Rooms is a booking system for the handful of rooms this course actually holds crits in. Right now that coordination happens by word of mouth: a tutor books a room by asking around, and the only way a second pod finds out it’s taken is by turning up to it. This models that one annoying slice end to end — rooms, bookings, and the times they cover — so a clash is something the app refuses, not something two pods discover in person.

What good looks like here

The core promise: a booking a pod makes is still there after a reload, and the app never lets two pods hold the same room at overlapping times. Both are enforced by spec/booking.test.ts, which drives the deployed app over HTTP — posts a booking, reloads, checks it’s there; posts a second one that overlaps the first in the same room, checks it’s refused and never reaches the schedule. spec/invariants.test.ts (the starter’s, unchanged) is the accessibility and structure floor underneath that: a nav landmark, one heading, a real title, no axe violations.

What I chose not to build, at least for this first pass:

The rooms are named after real ANU teaching spaces the course has actually used, but the list itself, and everything about who’s booked into them, is invented for this prototype.