teach/db
Ramon 8ccfa5dc8c
All checks were successful
dev - build & deploy naar test / build-and-deploy (push) Successful in 1m17s
feat: voortgang flinke UI-upgrade + bug (1 opdracht i.p.v. groep) + grafiek (v0.4.35-beta)
- Bug gevonden en bevestigd (niet blind aangenomen): math.js riep
  onProgress maar op ÉÉN plek aan, in endRound(), NA een heel blok van
  10 sommen, met alleen het geaggregeerde totaal. Eén sessie van 10
  sommen - "een groep opdrachten" - leverde dus precies 1 rij op in
  progress_events, niet 10, en maakte "welke som ging fout" onmogelijk
  te zien (alleen een totaaltelling per blok).
- Fix: onProgress verplaatst naar check(), bij elke afgeronde som (goed
  op de eerste keer, of opgeven na 3 pogingen) - een sessie van 10
  sommen levert nu 10 progress_events-rijen op, elk met een nieuw
  optioneel detail-veld (welke som, gegeven antwoord, juist antwoord).
  letters.js/ball.js blijven deze ronde ongemoeid (hun granulariteit
  veroorzaakte niet deze bug).
- Nieuwe kolom progress_events.detail (JSONB, nullable, puur additief -
  db/020_progress_detail.sql). POST /my/progress accepteert het
  optioneel; te groot/geen plain object wordt stilzwijgend genegeerd
  zonder de rest van de log-poging te laten falen (detail is decoratief,
  geen kernfunctionaliteit).
- Voortgang-tab (admin.js) herontworpen, zelfde ontwerptaal als de
  eerdere School-navigator-herbouw: vakgebied-tabs, een
  klassenmanagement-infobadge (Groep {n} · Niveau {n}, opgehaald via de
  bestaande /levels/pupil/:id-route) zodat resultaten meteen tegen het
  toegewezen niveau afgezet kunnen worden, een met de hand getekende
  SVG-nauwkeurigheidsring + staafdiagram (goed/fout per dag, laatste 14
  dagen - geen library, zelfde aanpak als avatar.js) en een "recente
  fouten"-lijst die precies toont welke som fout ging. De bestaande
  ruwe tijdlijn blijft eronder staan, niets is verwijderd.
- Terzijde gevonden en gefixt: .am-btn.active bestond nergens in de
  CSS, waardoor de vakgebied-tabs (hier én in Klassenmanagement,
  v0.4.34-beta) geen enkele visuele aanduiding hadden welke actief was.
- Tests: test/progress-logging.test.js uitgebreid met 4 tests voor het
  detail-veld (opgeslagen, te groot genegeerd, geen plain object
  genegeerd, afwezig blijft null). Volledige testsuite: 132/132.
- Live geverifieerd: een math.js-sessie met een mix van goede/foute
  sommen doorlopen en bevestigd dat er 3 aparte POST /my/progress-
  aanroepen gebeuren voor 3 sommen (niet 1 aggregaat), elk met het
  juiste detail; de herbouwde Voortgang-tab geopend met gemockte data
  en met screenshots bevestigd dat de nauwkeurigheidsring (38% = 3/8,
  rekenkundig geverifieerd), het klassenmanagement-infobadge, de
  staafdiagram en de "recente fouten"-lijst (met de daadwerkelijke som)
  correct tonen, én dat de active-tab-fix ook op de Klassenmanagement-
  tab zichtbaar is.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014EPxzBVRXZZnBPvSAaPAbJ
2026-07-19 15:56:14 +02:00
..
001_init.sql Initiële opzet: Fastify + static, Docker, Postgres, Forgejo Actions 2026-07-07 22:41:05 +02:00
002_schools_auth.sql v0.2.00: schoolsysteem met rollen (super/admin/groepsleiding/leerling), koppelcodes, server-API en beheerpaneel 2026-07-09 22:26:01 +02:00
003_password_state.sql v0.2.02: uitgebreid wachtwoordbeheer voor gebruikers 2026-07-12 22:32:35 +02:00
004_user_roles.sql v0.2.21-beta: meerdere functies per gebruiker (multi-rol voor staf) + zoekveld 2026-07-13 22:41:40 +02:00
005_assignments.sql v0.2.22-beta: leerling-omgeving (aparte pagina zonder whiteboard) 2026-07-13 23:14:26 +02:00
006_security_boundaries.sql v0.3.03-beta: versterk publieke beveiliging 2026-07-14 12:42:16 +02:00
007_progress.sql v0.3.09-beta: voeg voortgang-schema en -API toe 2026-07-14 14:51:50 +02:00
008_widget_share.sql v0.3.14-beta: sta toewijzing van één widget toe met kijken/werken-modus (API) 2026-07-14 15:48:14 +02:00
009_save_system.sql v0.3.17-beta: detecteer save-conflicten tussen tabbladen 2026-07-14 16:19:25 +02:00
010_shared_library.sql v0.3.26-beta: server-API voor de gedeelde bibliotheek 2026-07-14 22:27:16 +02:00
011_shared_readonly.sql v0.3.28-beta: alleen-lezen-vlag voor gedeelde items (server) 2026-07-14 22:49:17 +02:00
012_image_catalog.sql feat: voeg afbeeldingscatalogus en opslagquota toe 2026-07-15 23:45:17 +02:00
013_parent_portal.sql feat: server-kant ouderportaal (v0.3.57-beta) 2026-07-16 00:02:16 +02:00
014_cms.sql feat: server-kant CMS voor de systeemmanager (v0.3.83-beta) 2026-07-16 19:29:08 +02:00
015_user_fk_cascade.sql fix: gebruiker verwijderen werkt weer (herstel foreign-key cascade) (v0.3.95-beta) 2026-07-17 21:39:29 +02:00
016_class_name_unique.sql fix: altijd de echte serverfout tonen + klasnamen uniek per school (v0.4.1-beta) 2026-07-18 03:39:04 +02:00
017_class_teacher_roles.sql fix: schoolbeheerder aan klas koppelen, systeemmanager-promotie dichten, UI-afstand (v0.4.07-beta) 2026-07-18 04:40:39 +02:00
018_user_avatar.sql feat: eigen personage (avatar) voor leerlingen, ouders en staf (v0.4.23-beta) 2026-07-19 07:34:25 +02:00
019_pupil_levels.sql feat: klassenmanagement - niveaugroep + niveau per leerling per vakgebied (v0.4.34-beta) 2026-07-19 15:31:26 +02:00
020_progress_detail.sql feat: voortgang flinke UI-upgrade + bug (1 opdracht i.p.v. groep) + grafiek (v0.4.35-beta) 2026-07-19 15:56:14 +02:00