Computer-Based Test
- Role —
- Full Stack Developer
- Date —
- 15 Januari 2025
- Stack —
- TALL Stack, MySQL, Pest PHP
A comprehensive computer-based assessment engine engineered for academic institutions to streamline summative and formative evaluations, automate multi-format item grading, and preserve academic integrity through client-side proctoring heuristics.
Key Features
- Multi-Role RBAC: Hierarchical access control for Super Admin, School Admin, Teachers, and Students with granular permission management.
- Bank Soal & Pengacakan Dinamis: Supports 5 question types (Multiple Choice, Complex MC, True/False, Short Answer, and Essay) with per-student question/option randomization and immutable database snapshots at exam commencement.
- Sistem Anti-Cheat & Lock Screen: Enforces fullscreen mode, detects tab switching, devtools shortcuts, and right-clicks with violation counter tracking and automatic hard-submit limits.
- Live Monitoring Ujian: Real-time teacher dashboard to monitor student progress, answered question counts, violation notifications, and remote control actions (grant extra time / force submit).
- Koreksi Otomatis & Rubrik Esai: Instant automated scoring for objective questions and manual essay grading interface with automatic score recalculation.
- Import/Export & Pelaporan: Bulk data import via Excel, exam score summaries, and printable exam result cards and PDF violation reports.
Technical Implementation
- Developed using Laravel, Livewire, Alpine.js, and Tailwind CSS to deliver a reactive interface without heavy JavaScript framework overhead.
- Implemented Action & Service Classes architecture (
GenerateExamAttemptAction,ExamScoringService,RecordViolationAction) within database transactions (DB::transaction) for high data reliability. - Ensured exam security with server-authoritative time and status validation, and audit trail logging using Spatie Activity Log.
- Thoroughly tested for grading logic, randomization, and authorization using Pest PHP.