Skip to main content
Kursus (course) adalah kontainer pembelajaran: chapterlesson. Peserta hanya melihat kursus yang termasuk akses tier mereka.

Model data

Alur admin

UI admin

Hook data: views/admin/hooks/useManageKelas.ts

API admin (contoh)

Role: admin untuk write; peserta read dengan cek akses.

Kaitkan kursus ke tier batch

Saat admin mengatur tier di batch:
  1. Buka tier management → pilih tier (Platinum, Master, …)
  2. Set courseIds — array UUID course yang dibuka untuk tier itu
  3. Atau kosongkan → peserta tier tersebut dapat semua kursus aktif
Resolusi akses: apps/api/src/enrollment/resolve-course-access.ts

Alur peserta belajar

Progress lesson

Status: belum-mulaisedang-diprosesselesai
Field videoProgress 0–100; selesai = 100%.
Endpoint: PATCH /api/kelas/:courseId/lesson/:lessonId/progress

Cek akses di kode

Peserta tanpa enrollment paid ke course yang diminta mendapat 403 COURSE_FORBIDDEN:
  • getCourseDetail
  • updateLessonProgress
  • getPlaybackToken
Admin memanggil API tanpa pesertaId → bypass cek (preview). Kode: apps/api/src/kelas/kelas.service.ts

Lanjut

Setelah lesson pakai Mux → Alur video