# PRD — LMS "Makan Bergizi Gratis" (MBG) ## 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.