Codex implementation brief — Deutsch B2 Beruf IT Prüfungstrainer
Mission
Build a visually excellent, accessible, fast and responsive interactive training website for one learner preparing for the DTB B2 oral exam. Use the exact educational source content in content/ as the immutable canonical reference, preserving its German and Arabic wording, punctuation and paragraphs. Read docs/PROFILE.md for customization constraints. The archive is CONTENT FIRST; it is not a generated application yet.
Non-negotiable content contract
- Read
manifest.jsonand all files listed there before designing routes and data models. Every one of the eight presentations must have Prüfungsversion, Erweiterung, Stichwortkarte and Prüferfragen/Antworten. - Preserve each original text verbatim in the website. UI may display it in sections, but do not shorten, edit, auto-rewrite or translate it in place.
- Additional translations, explanations, exercises, synthesized prompts, metadata, or alternative versions must be clearly differentiated from the original source. The original remains always retrievable.
- The source contains a fictional training role-model example. Show a prominent factual warning and editable replacement mechanism; do not present it as the user's real history.
- Never imply abbod.de was independently inspected or audited. Preserve accurate self-reported wording about the website.
- No placeholders, fake results, random sample paragraphs or unverified "AI-scored" exam grades.
- Create an automated integrity test that ensures every source file is included/accessible and detect changes against
manifest.json(SHA-256 for raw source). Verify the final UI covers all 8 topics, 5 Teil-2 dialogues, 5 Teil-3 dialogues, 6 Teil-3 scenarios, 4 Teil-1C exercises, 10 grammar questions, 28 study days, vocabulary and Redemittel.
Recommended architecture
- Next.js App Router + TypeScript + Tailwind CSS. Choose currently stable compatible versions in your execution environment.
- Structured content adapter importing source Markdown and JSON in a deterministic manner; keep source files under
content/or copy them without alteration into an immutable corpus. Parse headings into sections; do not split paragraphs incorrectly. - Support Arabic RTL content and German LTR content using
dir/langat the component/text block level rather than one global direction. German text should not render RTL because of Arabic page labels. - Clear navigation: Dashboard, Präsentationen (8), Teil 1C, Teil 2, Teil 3, Wortschatz, Redemittel, Grammatik, Lernplan, Prüfungssimulation, Original-Content Library.
- High readability: comfortable line length, adjustable font size, focus mode, original/explanations toggle, German-only mode, hide/show answer and Erweiterung, print view / save as PDF using native browser print.
- Timers, random question training, role A/B display, vocabulary flashcards, searchable corpus, answer reveal, interactive quiz.
- Offline-friendly/PWA if feasible; progress stored locally and exportable/importable as JSON. No paid API requirement; no server-side account needed.
- Stylish visual design, useful animations with reduced-motion support, dark/light themes, responsive mobile-first, semantic HTML, keyboard controls, color contrast/accessibility.
- Show progress stats grounded only in recorded user actions. Include simple QA checklist and run build/tests.
Delivery checklist
- Complete runnable source repository, dependency lockfile, README and scripts.
- Full-page preview/screenshots if possible.
- Testing results for content parity, navigation and quiz logic.
- Exact command for local development and production build.
- Do not publish publicly without explicit user permission.
Initial instruction for Codex (copy into its chat)
"Read README.md, docs/CODEX_INSTRUCTIONS.md, docs/PROFILE.md and manifest.json. First audit and count all the original source material in content/. Treat the content files as immutable and do not summarize or rewrite them. Build a premium Next.js + TypeScript training website around every line of content, with excellent Arabic/German bidirectional typography, interactive exercises, a clear 28-day plan, offline-local progress, responsive layouts and accessible animations. Add a file-integrity check based on manifest.json and prove the UI includes every section. Before coding, summarize your intended routes/content mapping; then implement and verify it locally."