# PRD — LMS "Makan Bergizi Gratis" (MBG)

> Catatan Koreksi (2025-11-12): Fase ini tidak melakukan implementasi backend. Dokumen ini berfungsi sebagai rencana produk; deliverables sprint aktif berfokus pada UI/flow frontend. Fitur seperti "kirim ulang sertifikat" dan API lain diklasifikasikan sebagai rencana (non-implementasi) hingga Acceptance Gate backend terpenuhi (PRD & Tech Spec sign-off, skema data final, ENV siap, alokasi waktu dev).

## Ringkasan Eksekutif
- Tujuan: Membuat LMS untuk peningkatan kemampuan staff dapur MBG, berfokus pada keamanan pangan, higienitas, SOP dapur, nutrisi, dan efisiensi operasional.
- Waktu & Tim: 2 bulan (Nov–Dec), tim 4 orang + bantuan Agent, memanfaatkan frontend codebase eksisting.
- Target Rilis: MLP (Minimum Lovable Product) siap UAT internal sebelum akhir Desember.
- Strategi: Re-use komponen eksisting (course, quiz, exam-session, certificate, reward), menambahkan minimal glue-code dan harmonisasi UI, memastikan desktop-first.

## Tujuan & Sasaran
- 80% staff dapur menyelesaikan minimal 1 kursus wajib (Food Safety 101) dalam 6 minggu.
- Skor kelulusan rata-rata ≥ 75 pada evaluasi akhir di modul wajib.
- 1 sertifikat dikeluarkan untuk setiap peserta yang lulus; email “kirim ulang” berfungsi.
- Dashboard admin menampilkan progres per peserta dan ringkasan kelas.

## Persona
- Learner (Staff Dapur): mengikuti kursus, kuis, ujian, melihat progres & sertifikat.
- Trainer/Admin: membuat/mengelola kursus, soal/ujian, melihat analitik peserta.
- Supervisor/Manajemen: memantau tingkat penyelesaian & efektivitas pelatihan.

## Lingkup Produk
- Course & Learning: katalog kursus, halaman detail, modul/lesson viewer, progress tracking, penugasan.
- Assessment: kuis interaktif, sesi ujian terjadwal, ringkasan hasil, sertifikat PDF.
- Sertifikasi: generasi/unduh sertifikat, kirim ulang via email.
- Analytics: agregasi performa peserta, eksport laporan.
- Reward: integrasi sederhana jam belajar dan pengakuan (phase-1, non-transaksional).
- AI Assistant: tanya jawab materi (phase-1, informasi non-kritis).
- Desktop: seluruh alur utama nyaman dan efisien di layar desktop.

## Fitur Utama (Prioritas)
- Must-have (MLP):
  - Katalog & detail kursus dengan modul/lesson viewer.
  - Kuis & ujian dasar + kelulusan + sertifikat PDF.
  - Dashboard progres peserta & ringkas kelas admin.
  - Email kirim ulang sertifikat (Nodemailer) terkonfigurasi.
  - Desktop-first untuk learner flow.
- Nice-to-have (Jika waktu memungkinkan):
  - Reward dashboard (jam belajar, pengakuan, non-transaksional).
  - Export laporan terformat (CSV/Excel) untuk manajemen.
  - AI Assistant konten pelatihan dapur.

## Non-Fungsional
- Performa: waktu muat utama desktop (p95) < 2 detik.
- Keandalan: error handling jelas, tidak ada crash di jalur utama.
- Aksesibilitas: kontras, font terbaca, navigasi keyboard dasar.
- Keamanan: data peserta tidak dibagikan keluar; env vars aman.

## Ketergantungan
- Frontend: Next.js/React eksisting, TypeScript.
- Email: Nodemailer `createTransport` (host, port, secure, auth via ENV).
- Data: sementara mock/JSON/Repo interfaces; fase berikutnya integrasi backend.

## Risiko & Mitigasi
- Konten belum siap: libatkan trainer di minggu 1–2, gunakan template lesson.
- Waktu terbatas: fokus MLP, gunakan feature flags pada modul opsional.
- Performa di perangkat lama: lakukan audit komponen berat, lazy-load.

## Timeline & Milestone (4 Sprint, 2 minggu/sprint)
- Sprint 1 (Nov W1–W2): Pondasi kursus, viewer, progres, kuis dasar.
- Sprint 2 (Nov W3–W4): Ujian, ringkasan hasil, sertifikat, admin soal.
- Sprint 3 (Dec W1–W2): Reward dasar, analytics, eksport, harmonisasi UI.
- Sprint 4 (Dec W3–W4): Desktop UX polish, QA/UAT, perbaikan performa, rilis RC.

## Definisi Sukses & KPI
- Penyelesaian kursus wajib ≥ 80% peserta.
- Skor rata-rata modul wajib ≥ 75.
- 0 blocker di jalur utama (enroll → belajar → kuis/ujian → sertifikat).
- Waktu muat halaman utama desktop < 2 detik (p95).

## Batasan (Out-of-scope — fase ini)
- Pembayaran/komersialisasi kursus.
- Integrasi HR/payroll transaksi penuh.
- Multi-tenant & SLA produksi.

## Operasi & Peluncuran
- Feature flags untuk modul opsional (reward/AI).
- Dokumentasi admin/trainer & panduan singkat untuk learner.