Änderungen

Zum Kursplan

Version 0.0.3

16. September 2026

Added

  • Self-registration. `register_family` creates the family, the PrimaryAdult and any children in one transaction, because a family whose owner has no profile would be unreachable to its own members. The email is read from the session rather than taken as an argument, so it cannot be set to someone else's.
  • `/register` for the account and `/onboarding` for the family behind it. The split exists because with email confirmation switched on there is no session straight after sign-up, and the family cannot be created without one.
  • The schedule sends a signed-in visitor without a family to onboarding instead of showing them an empty page.

Version 0.0.2

16. September 2026

Changed

  • The Next.js app moved from `web/` to the repository root. The host detects the framework from the root `package.json` when a project is created and only accepts a directory afterwards, so a subdirectory layout could never get past that first step.
  • Local environment files move with it: they now belong beside `package.json` at the root rather than in `web/`.

Version 0.0.1

16. September 2026

First running slice: a member signs in, sees the schedule and books a seat.

Added

  • Six migrations covering families, membership and credits, classes and bookings, presence, and the row level security that isolates them. Clients read through policies; everything touching credits, money or attendance is written server-side.
  • Operator access as rows rather than code: `roles` and `role_permissions` seeded with the seven backend roles, assignments scoped per location, and an append-only `audit_log`. See `docs/adr/0001-operator-rbac.md`.
  • `book_session`, which spends credits oldest lot first and inserts the booking in one transaction. It is a Postgres function rather than a server action so the mobile app can call it unchanged later.
  • Web app with sign-in, the schedule with the family's credit balance, and booking with German error messages mapped from the function's SQLSTATEs.
  • Local seed data: one location, three class formats, fifteen sessions, and one family with a membership and two credit lots.
  • This changelog, shown in the app at `/releases`.

Changed

  • `trainers` lost its own `auth_user_id` and points at `operators` instead, so a person who is both Manager and Trainer has one login rather than two.