Flip the source-of-truth model: the two split repos at git.albousalh.com are
now the authoritative origins for each half of the stack; this workspace
(`odoo19/`) is demoted to a developer working tree / full-stack monorepo
mirror.
- Header banner rewritten: canonical repos stated up front with links; mark
the monorepo mirror as secondary.
- §6 restructured into 6.1–6.8: layout diagram, reordered remotes table
(backend-v4 + frontend-v4 first), feature workflow that ends in publishing
to the canonical repos (monorepo push is now optional), mandatory
`git subtree split + push` commands for both halves, per-repo "what's
shipped / what's not", VPS team-lead quickstart, safety rules, creds.
Made-with: Cursor
- Header banner: add 2026-04-19 entry for the release to backend-v4 /
frontend-v4 split repos; state upfront that this monorepo is the single
source of truth.
- §6 rewritten: layout diagram, remotes table, feature-branch → commit →
publish workflow, exact `git subtree split` commands used to fast-forward
frontend-v4/main and backend-v4/main, notes on what each split repo does
and does not contain, and the safety rules for files that must never be
committed (pgdata backups, build caches, env files).
Made-with: Cursor
- Fix ELAI video generation (correct render endpoint, script splitting for 60s limit)
- Fix speaking script generation error handling and empty response display
- Add custom exam list API (GET /api/exam/custom/list)
- Add assignments REST API (list, create, get)
- Add rubrics REST API (list, create)
- Enhance Generation page: dynamic exam structures, auto-module selection, preview dialog, audio player
- Improve submit feedback with exam ID and status in toast notifications
- Fix ExamsListPage to show both custom exams and exam sessions
- Connect RubricsPage to backend API with fallback data
- Add Dockerfile, docker-compose.yml, requirements.txt for deployment
- Fix placement, grading, scoring, and auth controllers
- Add ErrorBoundary component for frontend resilience
- Add QA report and credentials documentation
Made-with: Cursor