Appearance
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:
- Murid membuat order (mata pelajaran, durasi, catatan)
- Murid upload bukti transfer ke R2
- Alternatif: murid WA admin, admin upload bukti atas nama murid
- Admin verifikasi pembayaran
- 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:
- Guru confirm start — Guru konfirmasi les dimulai
- Murid confirm start — Murid konfirmasi les dimulai
- Guru confirm end — Guru konfirmasi les selesai
- 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