38 lines
1.7 KiB
Markdown
38 lines
1.7 KiB
Markdown
# 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. |