The story nights exist in the database. Now people need to hear about them, and Gorm needs to be able to schedule them.
The specifications
The poster: GET /story-nights (open to everyone, a “Story nights” link in the navigation)
- the upcoming story nights, from the nearest to the furthest; past ones are not on it;
- each story night is an
<article class="soiree">, with:- its title in an
<h2>, which links to its page; - its storyteller (
.conteur); - its date (
.debut, in the formatOctober 5, 2026 at 20:00); - its seats (
.places): “5 seats left”, “1 seat left”, or “Full”;
- its title in an
- the page costs at most two SQL queries, however many story nights there are.
A story night's page: GET /story-nights/{id}
- the title in an
<h1>, the storyteller, the date, the seats (same classes); - a story night that does not exist: 404.
Scheduling a story night: /kitchen/story-nights/new
- for the boss only: the other staff members get a 403;
- a form with the title, the storyteller, the start and the seats, and a “Schedule the night” button;
- a valid story night is saved, then Gorm is taken to its page, with the message
The story night "…" is scheduled.; - an invalid form is shown again (422), with the entity's messages.
To try it out: log in as gorm@drunken-dragon.me / barrel. A few story nights are already scheduled.