# Sinkronisasi Codebase Eksisting — LMS MBG ## Pemetaan Komponen Utama - Course & Lesson: - `src/app/course/page.tsx`, `src/app/course/[id]/page.tsx` - `src/components/course/ModuleTabs.tsx`, `ModuleNavigation.tsx` - Assessment: - `src/app/features/interactive-quiz-demo/page.tsx` - `src/app/exam-session/[sessionId]/page.tsx`, `summary/[sessionId]/page.tsx` - `src/app/exams/page.tsx`, `src/app/admin/exams/page.tsx` - `src/contexts/ExamContext.tsx` - Sertifikat: - `src/components/admin/CertificatePDF.tsx` - `src/app/admin/certificates/[id]/page.tsx` - `src/app/api/certificates/[id]/resend/route.ts` (Nodemailer) - Analytics: - `src/app/admin/analytics/page.tsx`, `src/app/admin/analytics/[studentId]/page.tsx` - Reward (Phase-1): - `src/features/payroll-reward-system/RewardDashboard.tsx` - `src/features/payroll-reward-system/PayrollManagement.tsx` - `src/features/payroll-reward-system/types.ts`, `services/`, `repositories/` - Lainnya: - `src/app/schedule/page.tsx`, `src/app/assignments/page.tsx` - `src/app/ai-assistant/page.tsx` - `src/config/featureFlags.ts` ## Work Items Harmonisasi - Gunakan tipe terpadu (mis. `CertificateData`, tipe progres/ujian dari `src/types/`). - Satukan layout & navigasi (DashboardLayout) untuk konsistensi. - Pastikan email resend menggunakan ENV & `createTransport` (sudah diperbaiki). - Tambahkan feature flags untuk modul reward & AI. - Siapkan data sample (demo) aman untuk UAT. - Tetapkan target viewport desktop (1366×768 hingga 1920×1080); validasi tabel & alur ujian. ## Verifikasi Teknis - `npx tsc --noEmit` bersih sepanjang pengembangan. - Jalur utama bebas error di browser; logging minimal untuk debugging. - P95 waktu muat halaman utama di desktop < 2 detik.