Backend: - Model ContentDraft + migration 0004_content_drafts - CRUD draft: save, reload, preview, publish, discard - Tree ops: create file/folder, rename, delete dengan draft cleanup - Refactor _render_markdown_string() agar bisa render dari buffer - Refactor teacher_auth ke modul shared (teacher_auth.py) - Blueprint routes/content_editor.py (17 endpoint) - Permission error handling di semua write operations - Tambah Pillow ke requirements.txt - Mount content/ & assets/ dari :ro ke :rw Frontend: - Page /teacher/content dengan panel tree + editor + preview - ContentFileTree, LessonContentView, QuizPreviewReadonly components - contentEditor.ts service layer & contentEditor.svelte.ts state manager - CodeEditor support @codemirror/lang-markdown + sync code prop - Tambah @codemirror/lang-markdown dependency |
||
|---|---|---|
| .. | ||
| storage | ||
| tests | ||
| __init__.py | ||
| database.py | ||
| docs_service.py | ||
| lesson_registry.py | ||
| lesson_service.py | ||
| models.py | ||
| progress_status.py | ||
| repositories.py | ||
| student_roundtrip.py | ||
| teacher_auth.py | ||
| teacher_bootstrap.py | ||
| token_hashing.py | ||
| token_service.py | ||