| Project | ID Test | Modul | Skenario Pengujian | Status | Catatan Bug / Temuan QA | Aksi |
|---|
| Tahap Alur Bisnis | đģ Project 1: Web App (Next.js) | đą Project 2: Customer App (Flutter) | đˇ Project 3: TicketScanner (Flutter) |
|---|---|---|---|
| 1. Pembuatan & Publikasi Event | Organizer membuat event, kategori tiket, kuota, Seat Map / Sports BIB di /dashboard. |
Event otomatis tampil di katalog aplikasi pembeli (main_shell.dart &
event.dart).
|
Event muncul di daftar tugas petugas lapangan (event_selection_screen.dart). |
| 2. Transaksi Pembelian Tiket | Pembeli checkout di Web (/[slug] via Xendit/DOKU) atau beli langsung di kasir
/pos.
|
Pembeli checkout via ticket_checkout_page.dart & bayar di
doku_payment_webview_page.dart.
|
Data pemegang tiket lunas ditarik & di-cache ke SQLite lokal (database_helper.dart). |
| 3. Penerbitan QR Code Tiket | Generate PDF E-Ticket (ticketing-eticket-pdf.tsx) & kirim email konfirmasi. |
Menampilkan tiket aktif & QR Code di tab Tiket Saya (ticket.dart). |
Siap memvalidasi QR baik dari kertas/PDF (Proj 1) maupun layar smartphone (Proj 2). |
| 4. Validasi Pintu Masuk (Gate) | Menyediakan Web Scanner (/scan) & API Check-in (/api/checkin). |
Penonton menunjukkan layar QR Code dari aplikasi mobile di gate. | Petugas scan via scanner_screen.dart (bunyi success_scan.mp3 /
failed_scan.mp3) atau manual di ticket_holders_screen.dart.
|
| 5. Efek Real-Time di Venue | Nama peserta tampil di TV /check-in-display/[eventId] & masuk kandidat undian
/door-prize/[eventId].
|
Status tiket di HP penonton berubah menjadi Sudah Digunakan (Checked-In). | Counter hadir bertambah & menolak otomatis (Anti-Passback) bila QR yang sama di-scan ulang di gate lain. |
client_secret tidak digunakan di browser demi keamanan data perusahaan (Google OAuth GIS Flow).http://localhost:3000 atau domain Vercel) sudah didaftarkan pada Authorized JavaScript origins di Google Cloud Console.