PurwaExam
• Completed
Web Application
Ringkasan Project
PurwaExam adalah sistem ujian kompetensi, generasi penerus APIK (Aplikasi Ujian Kompetensi) yang sebelumnya berbasis CodeIgniter 3. Entri ini fokus ke sisi arsitektur dan implementasi: model data kepemilikan soal, perbaikan bug relasi dosen-kelas yang tidak sinkron, dan deploy Laravel di shared hosting dengan document root yang tidak bisa dikustomisasi.
Fitur Utama
- Method Eloquent tunggal (
Question::eligibleForExam()) sebagai sumber kebenaran akses bank soal, dipakai konsisten di tiga jalur berbeda (stok, snapshot ujian, preview form) - Sinkronisasi otomatis dua tabel pivot dosen (
course_lecturerdankelas_lecturer) yang sebelumnya berjalan terpisah - Guard keamanan level test suite (
tests/TestCase.php) yang menolak menjalankan test di luar koneksi SQLite — mencegahRefreshDatabasemenimpa database produksi - Header keamanan (
X-Frame-Options,X-Content-Type-Options,Referrer-Policy,Permissions-Policy) terpasang di dua panel Filament sekaligus rute biasa - Struktur deploy sibling-folder untuk shared hosting tanpa custom document root, termasuk sinkronisasi ganda hasil build Vite
Teknologi
| Komponen | Detail |
|---|---|
| Framework | Laravel 13 + Filament v4 |
| Database | MySQL |
| Testing | Pest, dengan guard driver SQLite wajib |
| Audit & Backup | spatie/laravel-activitylog, spatie/laravel-backup |
| Hosting | Shared hosting cPanel, struktur folder sejajar (bukan custom document root) |
Baca Juga
- Sistem pendahulunya: Mengenal APIK, Aplikasi Ujian Kompetensi
- Studi kasus teknis lengkap: PurwaExam: Studi Kasus Migrasi Sistem Ujian ke Laravel 13 & Filament