Login Admin
Hari Ini
Uang yang belum jadi akses atau kredit, ujian yang macet, orang yang tidak bisa masuk — dalam satu layar.
Memuat…
Perlu tindakan
Penjualan per paket
hanya pesanan lunas| Paket | Jenis | Hari ini | Nilai hari ini | 7 hari |
|---|
Pekerjaan terjadwal
dibaca dari jejak datanyaJadwalnya sendiri tidak bisa dibaca dari aplikasi. Yang dibaca adalah apa yang ditinggalkan setiap job di database — kalau job bulanan memberi kredit lagi, baris itu berubah merah.
Daftar pemeriksaan
Bantuan Peserta
Cari lewat email, atau tempel id peserta, pesanan, atau ujian. Halaman ini hanya membaca — tidak ada yang berubah di akun peserta.
Pengunjung & Corong
Dari mana orang datang, sampai langkah mana mereka berjalan, dan halaman mana yang membuat mereka menunggu atau kesal. Sumber: PostHog, tanpa akun uji.
Memuat…
Per hari
orang berbeda per hari (WIB)Corong Tes Cepat tanpa akun
/coba · berurutan, dalam 14 hariCorong Tes Cepat dengan akun
daftar dulu · berurutan, dalam 14 hariRincian Tes Cepat tamu, kupon & voucher
tiap kejadian dihitung sendiri, di luar urutan corongSumber pengunjung
sumber pertama tiap orangKecepatan halaman
waktu konten utama tampil, 75% kunjunganKampanye
dari link berpenanda utm_campaignKlik kesal
mengetuk tempat yang sama berkali-kali dengan cepatTambah Product Baru
kuis_masa_berlaku_credit_hari.Lanjutan — lihat / edit JSON mentah
Edit Product
kuis_masa_berlaku_credit_hari.Lanjutan — lihat / edit JSON mentah
Daftar Products
| Name | Type | Price | Aktif | Aksi |
|---|
KuisPenguji
Harga paket & top up diatur di menu Harga (Products) sebagai produk quiz_plan dan quiz_credit_pack. Produk tanpa harga (0) atau paket berstatus bukan active tidak bisa dibeli.
Paket kuis
Perubahan hanya berlaku untuk pembelian berikutnya — hak yang sudah dibeli memakai batas saat dibeli. Pembelian paket memberi credit = jatah pelaksanaan × credit per mulai; satu kali mulai kuis memakai credit per mulai paket itu.
| Kode | Nama | Maks. soal | Maks. peserta | Jatah pelaksanaan | Credit per mulai | Status |
|---|
Proyeksi keuntungan (per bulan)
Isi perkiraan penjualan per bulan. Harga diambil dari produk kuis di menu Harga (boleh diubah di sini untuk mencoba — tidak menyimpan apa pun).
Biaya dari setelan kuis_proyeksi_* di bawah. Kolom Nyata 30 hari = penjualan & pemakaian sungguhan sebagai pembanding.
| Paket | Harga paket (Rp) | Terjual / bulan | Peserta rata-rata | Nyata 30 hari |
|---|
Cek harga top up (aturan: 1 pelaksanaan tambahan = setengah harga paket)
| Paket | Setengah harga paket | Credit per mulai | Top up 1 pelaksanaan | Selisih |
|---|
Setelan
| Setelan | Nilai |
|---|
Koreksi credit pelaksanaan
Kompensasi ke pengguna butuh persetujuan wiwi per kasus. Angka positif menambah, negatif menarik dari credit yang masih berlaku. Riwayat tidak diubah — koreksi tercatat sebagai baris baru beserta alasan dan nama admin.
Pembersihan hasil kuis
Menghapus nama panggilan peserta, jawaban, dan papan skor publik dari sesi yang selesai lebih lama dari setelan
kuis_masa_simpan_hasil_hari (janji Kebijakan Privasi). Catatan credit & pembayaran host tidak dihapus.
Berjalan otomatis sebulan sekali; tombol ini menjalankannya sekarang (paling banyak 1.000 sesi per tekan).
Riwayat credit (100 terakhir)
| Waktu | Jenis | Perubahan | Alasan | Akun |
|---|
Ujian
| Kode | Nama | Jenjang | Aksi |
|---|
Tambah Ujian Baru
Edit Ujian
Kode dipakai sebagai penanda ujian di skrip dan dokumentasi — ubah hanya kalau memang perlu. Nama aman diubah kapan saja: yang dilihat siswa hanya nama, sedangkan entitlement dan order terhubung lewat ID, bukan nama.
Versi Ujian —
Hanya versi berstatus active yang soalnya bisa dikerjakan siswa dan ikut
terhitung di statistik landing page. Versi draft aman dipakai menyiapkan soal
tanpa terlihat siapa pun.
| Nama Versi | Jenjang | Status | Berlaku | ID Versi | Aksi |
|---|
Tambah Versi Baru
Versi baru selalu dibuat sebagai draft — aktifkan lewat tombol di tabel setelah soalnya siap.
Edit Versi Ujian
Mengganti nama versi aman: attempt yang sedang berjalan memakai snapshot soalnya sendiri, dan entitlement terhubung ke ID ujian, bukan ke nama. Yang berubah hanya nama yang dibaca orang — termasuk di katalog siswa, jadi pastikan cocok dengan yang tertulis di beranda.
Subtes —
Urutan menentukan susunan subtes saat ujian (isi 1, 2, 3, … — jangan dibiarkan sama semua, karena urutannya jadi tidak pasti). Durasi adalah sumber data timer mode simulasi: kosong berarti subtes itu tanpa batas waktu. Ambang batas adalah nilai minimal yang harus dicapai pada subtes itu: kosong berarti subtes ini memang tidak punya ambang kelulusan.
| Urutan | Nama | Durasi (menit) | Ambang batas | Aksi |
|---|
Tambah Subtes
Edit Subtes
Hanya versi dari ujian yang sama. Subtes yang sudah pernah dikerjakan orang tidak bisa dihapus — nilai yang sudah didapat mengacu padanya. Memindahkannya ke versi draft mengeluarkannya dari ujian yang dijual tanpa menyentuh satu pun nilai yang sudah ada.
Voucher = akses gratis (tanpa bayar). Kupon = potongan harga saat membeli. Keduanya dimasukkan peserta di kolom yang sama di halaman Harga.
Kupon Potongan Harga
Memotong harga saat peserta membayar lewat Midtrans. Kuota dihitung dari pembayaran yang lunas.
Daftar Kupon
| Kode | Potongan | Produk | Terpakai | Berlaku | Hasil | Status |
|---|
Hasil: pesanan lunas · uang masuk · perkiraan potongan (dari harga produk sekarang). "Menunggu" = sudah memesan, belum membayar.
Voucher Akses Gratis (marketing)
Membuka akses gratis satu produk untuk peserta yang login. Tidak lewat Midtrans, tidak tercatat sebagai penjualan, tanpa AI Credit. Satu akun hanya bisa memakai voucher yang sama sekali.
Daftar Voucher
| Kode | Kampanye | Produk | Masa | Terpakai | Berlaku sampai | Hasil | Status |
|---|
Hasil: akun yang menukar · yang aksesnya masih berlaku · yang sesudah menukar membayar pesanan apa pun (dan nilainya).
Daftar User
| Nama | Role | Status | 2FA | Aksi |
|---|
Soal (lihat & kelola)
Soal berstatus selain "published" otomatis TIDAK PERNAH muncul lagi ke siswa di practice/simulasi (ditegakkan di level database, lihat questions_for_student migration 0007) — jadi tombol "Reject" di panel detail di bawah SUDAH cukup untuk "tandai supaya tidak dipakai", tanpa perlu status baru ataupun hapus permanen.
| Topik | Pertanyaan | Status | Aksi |
|---|
Untuk membuat exam/exam version/section/soal baru, form belum ada di panel ini — pakai curl sesuai functions/exam-engine/README.md (endpoint sudah lengkap, tinggal panel form-nya belum dibuat — utang teknis v1.x). Menampilkan semua soal tanpa filter bisa lambat kalau jumlahnya sangat banyak (belum ada pagination — lihat catatan skala di functions/admin/question-audit.ts, batasan yang sama berlaku di sini).
Pemindaian Kualitas Soal
Memeriksa soal yang SUDAH ADA di database (opsi janggal, correct_answer tidak valid, status published/approved tapi belum tercatat direview). "Opsi cuma 3" TIDAK otomatis salah — standar SKD Kedinasan memang 4-5 opsi, tapi ujian lain (mis. IELTS) bisa sah 3-4 opsi. Cek manual tiap hasil "soft".
| Pertanyaan | Tipe | Status | Masalah | Aksi |
|---|
Soal yang Ditandai
| Pertanyaan | Alasan | Catatan | Ditandai pada | Aksi |
|---|