# 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.