LMS-BGN/docs/mbg-lms-epic-plan.md

5.0 KiB

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.