110 lines
5.0 KiB
Markdown
110 lines
5.0 KiB
Markdown
# Epik & Roadmap — LMS MBG
|
|
|
|
## Overview
|
|
Roadmap 2 bulan memanfaatkan codebase eksisting untuk mempercepat. Tiap epik memiliki outcome terukur, keterkaitan komponen, dan acceptance criteria.
|
|
|
|
## Epik A — Course & Learning Management
|
|
- Rujukan: `docs/Epic 2 — Course & Learning Management.md` (eksisting).
|
|
- Komponen/halaman terkait:
|
|
- `src/app/course/page.tsx`, `src/app/course/[id]/page.tsx`
|
|
- `src/components/course/ModuleTabs.tsx`, `ModuleNavigation.tsx`
|
|
- `src/app/assignments/page.tsx`, `src/app/schedule/page.tsx`
|
|
- Outcome: katalog kursus, detail kursus, modul/lesson viewer, progres, jadwal & penugasan.
|
|
- Acceptance:
|
|
- Learner dapat mendaftar, membuka lesson, progres bertambah sesuai aktivitas.
|
|
- Admin melihat ringkasan kursus & progres kelas.
|
|
|
|
### Stories (Backend Draft — Non-Implementasi)
|
|
> Catatan: semua story ini untuk dokumentasi & kontrak API; eksekusi backend ditunda hingga gate terpenuhi.
|
|
|
|
### Story 1.1: Course Catalog Read API
|
|
- Tujuan: endpoint read-only untuk daftar kursus (paging, filter dasar).
|
|
- Gate: kontrak API disetujui, data privacy OK, tidak ada coding.
|
|
|
|
### Story 1.2: Course Detail Read API
|
|
- Tujuan: endpoint read-only untuk detail kursus + modul/lessons.
|
|
- Gate: kontrak API disetujui, relasi data diverifikasi.
|
|
|
|
### Story 1.3: Module Progress Update API
|
|
- Tujuan: endpoint untuk mencatat progres belajar (id user, modul, progress delta).
|
|
- Gate: definisi skema progres & idempotency disetujui.
|
|
|
|
### Story 1.4: Assignment Submission Persist
|
|
- Tujuan: draft kontrak penyimpanan submission tugas (metadata, payload).
|
|
- Gate: checklist keamanan & audit trail disetujui.
|
|
|
|
## Epik B — Assessment & Sertifikasi
|
|
- Komponen/halaman terkait:
|
|
- `src/app/features/interactive-quiz-demo/page.tsx`
|
|
- `src/app/exam-session/[sessionId]/page.tsx`, `src/app/exam-session/summary/[sessionId]/page.tsx`
|
|
- `src/app/exams/page.tsx`, `src/app/admin/exams/page.tsx`
|
|
- `src/components/admin/CertificatePDF.tsx`, `src/app/admin/certificates/[id]/page.tsx`
|
|
- Outcome: kuis interaktif, sesi ujian, ringkasan hasil, sertifikat PDF & kirim ulang email.
|
|
- Acceptance:
|
|
- Kuis berjalan, skoring muncul, ujian terjadwal & ringkasan tersedia.
|
|
- Sertifikat dihasilkan, dapat diunduh, dan email “kirim ulang” berfungsi.
|
|
|
|
### Stories (Backend Draft — Non-Implementasi)
|
|
> Catatan: dokumentasi & kontrak, tidak ada coding hingga gate.
|
|
|
|
### Story 2.1: Exam Session Create API
|
|
- Tujuan: kontrak pembuatan sesi ujian (user, examId, startTime).
|
|
- Gate: model sesi ujian, validasi & lifecycle disetujui.
|
|
|
|
### Story 2.2: Exam Scoring API
|
|
- Tujuan: kontrak endpoint penilaian jawaban (batch/stream, skor per soal).
|
|
- Gate: aturan penilaian, integritas data & audit disetujui.
|
|
|
|
### Story 2.3: Exam Summary Read API
|
|
- Tujuan: kontrak endpoint ringkasan hasil (skor total, waktu, per-soal).
|
|
- Gate: format ringkasan & akses kontrol disetujui.
|
|
|
|
### Story 2.4: Certificate Resend Email Stub
|
|
- Tujuan: kontrak request untuk kirim ulang email sertifikat (non-implementasi, queue stub).
|
|
- Gate: template email, throttling, dan logging disetujui.
|
|
|
|
## Epik C — Reward & Payroll Integration (Phase-1)
|
|
- Komponen/halaman terkait:
|
|
- `src/features/payroll-reward-system/RewardDashboard.tsx`
|
|
- `src/features/payroll-reward-system/PayrollManagement.tsx`
|
|
- `src/features/payroll-reward-system/types.ts`, `services/`, `repositories/`
|
|
- Outcome: tampilan jam belajar & pengakuan sederhana (non-transaksional), feature-flagged.
|
|
- Acceptance:
|
|
- Reward dashboard menampilkan jam belajar dari progres belajar.
|
|
- Tidak ada perubahan ke sistem payroll produksi saat ini.
|
|
|
|
## Epik D — Analytics & Laporan
|
|
- Komponen/halaman terkait:
|
|
- `src/app/admin/analytics/page.tsx`, `src/app/admin/analytics/[studentId]/page.tsx`
|
|
- `src/app/export/page.tsx` (jika ada) atau util ekspor sederhana.
|
|
- Outcome: ringkasan performa, detail peserta, eksport CSV/Excel.
|
|
- Acceptance:
|
|
- Admin melihat metrik dasar (penyelesaian, skor rata-rata, waktu belajar).
|
|
- Dapat mengunduh laporan untuk manajemen.
|
|
|
|
## Epik E — Desktop UX & Accessibility
|
|
- Komponen terkait: seluruh halaman learner & komponen utama.
|
|
- Outcome: learner flow berjalan nyaman dan efisien di perangkat desktop.
|
|
- Acceptance:
|
|
- Navigasi, teks, tombol, tabel terbaca & dapat dioperasikan dengan keyboard.
|
|
- Waktu muat desktop p95 < 2 detik.
|
|
|
|
## Epik F — AI Assistant (Phase-1)
|
|
- Komponen/halaman terkait:
|
|
- `src/app/ai-assistant/page.tsx`
|
|
- Outcome: tanya jawab konten pelatihan dapur (non-kritis), sebagai pendamping belajar.
|
|
- Acceptance:
|
|
- Learner dapat bertanya hal umum terkait materi dan mendapat jawaban yang relevan.
|
|
|
|
## Epik G — Jadwal & Penugasan
|
|
- Komponen/halaman terkait:
|
|
- `src/app/schedule/page.tsx`, `src/app/assignments/page.tsx`
|
|
- Outcome: penjadwalan kelas/ujian & penugasan tugas modul.
|
|
- Acceptance:
|
|
- Jadwal terlihat bagi learner; admin/trainer dapat mengatur slot dan penugasan.
|
|
|
|
## Ketergantungan & Urutan
|
|
- A mendasari B (assessment butuh course & progres).
|
|
- B mendasari sertifikasi & input ke D (analytics) dan C (reward).
|
|
- E berjalan paralel sebagai polishing, fokus di sprint 4.
|
|
- F berjalan opsional, flagged, mengikuti ketersediaan konten. |