Skip to content

Product Overview ​

Apa itu XPrivate? ​

XPrivate adalah platform untuk mengelola les privat secara terstruktur. Murid bisa mendaftar, memesan les, dan melihat jadwal. Guru bisa melihat jadwal mengajar dan submit laporan. Backoffice (admin/owner) mengatur semua operasi dari satu dashboard.

User Personas ​

Murid ​

  • Mendaftar ke platform (Google, Email, atau Magic Link)
  • Membuat order les (pilih mata pelajaran, durasi)
  • Upload bukti pembayaran transfer
  • Melihat jadwal les dan status
  • Confirm les dimulai dan selesai
  • Melihat profile dan riwayat les

Guru ​

  • Mendaftar ke platform (perlu verifikasi admin untuk jadi guru aktif)
  • Melihat jadwal les yang di-assign
  • Confirm les dimulai dan selesai
  • Submit presence report wajib setelah les
  • Upload foto evidence (opsional tapi recommended)
  • Melihat profile

Admin ​

  • Akses full backoffice dashboard
  • Verifikasi order dan pembayaran
  • Membuat dan mengatur jadwal les
  • Monitoring konfirmasi guru dan murid
  • Resolve dispute / mismatch konfirmasi
  • Upload bukti bayar atas nama murid (kasus WhatsApp)
  • Review presence dan evidence
  • Mengelola user (aktivasi/deaktivasi)

Owner ​

  • Semua akses admin
  • Bisa invite admin baru
  • Akses ke semua setting dan konfigurasi

Fitur MVP ​

1. Website Publik ​

  • Landing page dengan informasi platform
  • Halaman about / contact

2. Auth & Role System ​

  • 3 metode login: Google OAuth, Email/Password, Magic Link (email OTP)
  • 4 role: student, teacher, admin, owner
  • Mutual exclusion: admin/owner tidak bisa jadi student/teacher
  • Owner invite: hanya owner yang bisa invite admin

3. Profile Page ​

Semua user punya halaman profile dengan:

  • Nama lengkap
  • Email (read-only)
  • Nomor telepon
  • Foto profil (upload ke R2)
  • Bio / tentang (untuk guru: keahlian, pengalaman)
  • Role (read-only)

4. Order & Pembayaran ​

Flow:

  1. Murid membuat order (mata pelajaran, durasi, catatan)
  2. Murid upload bukti transfer ke R2
  3. Alternatif: murid WA admin, admin upload bukti atas nama murid
  4. Admin verifikasi pembayaran
  5. Order status: pending → paid → verified → cancelled

5. Lesson Session Management ​

  • Admin membuat jadwal les dari order yang verified
  • Setiap session punya: guru, murid, mata pelajaran, waktu, durasi, lokasi
  • Status: scheduled → ongoing → completed → cancelled

6. Triple Confirmation ​

4 konfirmasi per session:

  1. Guru confirm start — Guru konfirmasi les dimulai
  2. Murid confirm start — Murid konfirmasi les dimulai
  3. Guru confirm end — Guru konfirmasi les selesai
  4. Murid confirm end — Murid konfirmasi les selesai

Monitoring:

  • Backoffice dashboard menampilkan status setiap konfirmasi real-time
  • Jika hanya satu pihak yang confirm (mismatch), backoffice bisa investigasi dan resolve
  • Admin bisa override/resolve dispute

7. Presence Report (Wajib) ​

Guru wajib submit laporan setelah les selesai sebelum session dianggap "closed":

  • Materi yang dibahas
  • Progress murid
  • PR/tugas yang diberikan
  • Rekomendasi pertemuan berikutnya
  • Durasi aktual (menit)

8. Photo Evidence ​

  • Guru bisa upload foto bukti les ke R2
  • Foto bisa diambil sebelum, during, atau after les
  • Admin bisa melihat semua evidence di backoffice
  • Validasi: image only, max 5MB

9. Backoffice Dashboard ​

Metrics cards:

  • Total orders (per status)
  • Total lesson sessions (per status)
  • Pending confirmations
  • Sessions without presence
  • Disputes yang perlu resolve

Management pages:

  • Orders: list, filter, verify, cancel
  • Lessons: list, create, update, cancel
  • Confirmations: monitor, resolve dispute
  • Users: list, invite admin, activate/deactivate
  • Presence: list, filter, review
  • Evidence: view photos

Post-MVP Roadmap ​

P1: Murid & Guru Interface ​

  • Dashboard murid: order, jadwal, history
  • Dashboard guru: jadwal, confirm, presence
  • Notifikasi email untuk reminder les

P2: Kalender & Booking ​

  • Murid lihat kalender dan pesan slot waktu
  • Guru set availability
  • Admin manage via drag-drop kalender

P3: Google Calendar Sync ​

  • Murid: optional sync (jika login Gmail)
  • Guru: wajib sync
  • Auto-create event saat session di-schedule

P4: 2FA ​

  • TOTP untuk semua role
  • Enforce untuk admin/owner

P5: Analytics ​

  • Performa guru
  • Statistik kehadiran murid
  • Revenue tracking

P6: Auto Payment ​

  • Integrasi payment gateway (Xendit/Midtrans)
  • Otomatisasi verifikasi pembayaran

Released under the MIT License.