CANDY CBT - REVISI OPTIMUM 25-09-2026

Perbaikan: semua jalur simpan jawaban menolak jawaban setelah batas efektif (waktu mulai pribadi + durasi atau akhir jadwal, yang lebih awal); status selesai diproses dari jawaban server tanpa respons HP. Installer standalone menolak akses ulang sesudah instalasi, route instalasi lama ditutup. Instalasi baru menghasilkan kunci enkripsi acak. Revisi tampilan desktop dan fitur sebelumnya tetap masuk.

Untuk instalasi baru: siapkan database MySQL kosong, ekstrak ZIP ke direktori aplikasi, arahkan web root ke public/, pastikan PHP 8.1+ intl/mbstring/mysqli/zip, writable/ dan .env dapat ditulis; buka install.php lalu isi DB dan admin. Setelah instalasi, hapus install.php dan public/install.php. Jangan impor candyexam.sql ke database baru. Isi identitas sekolah pada Pengaturan.

Cron yang wajib untuk menyelesaikan peserta offline tanpa kunjungan halaman (sesuaikan path PHP dan aplikasi):
* * * * * cd /var/www/candy && /usr/bin/php spark ujian:selesaikan-kedaluwarsa >> /var/log/candy-auto-selesai.log 2>&1

Untuk paket update, unggah ZIP FULL lewat menu Pengaturan > Update Aplikasi. Updater tidak mengganti .env, writable, atau media unggahan lokal. Tetap pasang cron di server.

Uji di server: jadwal berakhir lebih awal dari durasi, siswa logout sebelum durasi habis, kirim jawaban tepat setelah waktu habis dari web/guest/API, periksa hasil dan nilai, serta installer tidak bisa diakses ulang.
