- Backend parser (_parse_flashcards): deteksi marker ::diagnostic di baris sendiri -> category='diagnostik' (default evaluasi), strip dari tampilan.
- Persistensi: kolom answers_json (migration 0003) simpan ringkasan per-soal {question_id, selected_option_id, is_correct, category}.
- quiz_attempts: validasi/serialize answers_json + endpoint GET /quiz-attempts/<lesson> untuk review-after-refresh.
- quiz-session: hitung evalCorrect/evalTotal/diagCorrect/diagTotal/diagUnmastered; skor resmi = evaluasi saja.
- Frontend: QuizTab badge per-soal + breakdown 'Belum dikuasai'; progress guru tampil badge Eval/Diag per lesson.
- Content: pindahkan ::diagnostic ke baris sendiri (fix kerusakan fenced code/blockquote dari edit sebelumnya).
- Tests: unit parser kategori + payload answers.
|
||
|---|---|---|
| .. | ||
| storage | ||
| tests | ||
| __init__.py | ||
| database.py | ||
| lesson_registry.py | ||
| lesson_service.py | ||
| models.py | ||
| progress_status.py | ||
| repositories.py | ||
| student_roundtrip.py | ||
| teacher_bootstrap.py | ||
| token_hashing.py | ||
| token_service.py | ||