Skip to main content
Struktur panel admin Filament pada codebase PurwaExam

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_lecturer dan kelas_lecturer) yang sebelumnya berjalan terpisah
  • Guard keamanan level test suite (tests/TestCase.php) yang menolak menjalankan test di luar koneksi SQLite — mencegah RefreshDatabase menimpa 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

KomponenDetail
FrameworkLaravel 13 + Filament v4
DatabaseMySQL
TestingPest, dengan guard driver SQLite wajib
Audit & Backupspatie/laravel-activitylog, spatie/laravel-backup
HostingShared hosting cPanel, struktur folder sejajar (bukan custom document root)

Baca Juga