Prefect
Prefect Office student record retrieval — searchable digital records and QR-based lookup built to measure accuracy and speed against manual folder search.
Problem
Prefect offices still retrieve student records from physical folders. Manual lookup is slow, error-prone, and difficult to audit. A research context needs controlled trials: can automated retrieval display the correct record faster and with fewer errors?
Prefect is a Laravel and React (Inertia + Vite) web application for organizing student records, QR resolution, intervention tracking, and retrieval trials with audit logging.
Operational scope
- Searchable student record system replacing manual folder lookup
- QR token resolution endpoint with gate authorization and structured audit trails
- Prefect officer, researcher, and admin roles with distinct workflows
- Retrieval trial instrumentation for accuracy and speed studies
- Geniestudio-inspired UI — bright, approachable, high-contrast headings for sensitive data
class QrResolveController extends Controller
{
public function __invoke(ResolveQrRequest $request, ResolveQrToken $resolveQrToken, WriteAuditLog $auditLog): JsonResponse
{
Gate::authorize('viewAny', Student::class);
$result = $resolveQrToken->handle($request->validated('qr_value'));
$auditLog->handle(
$request->user(),
'qr.lookup.attempted',
isset($result['student']) ? 'student' : null,
$result['student']['id'] ?? null,
$result['status'] === 'FOUND' ? 'SUCCESS' : 'FAILURE',
);
return response()->json($result, $result['status'] === 'FOUND' ? 200 : 422);
}
}