← Back to Projects

Logistics Defect Reporting

May 2023

LaravelPHPFilamentMySQL
Logistics Defect Reporting

Overview

  • A defect reporting and management system for a training academy
  • Built during my Software Developer internship at OCP Group
  • Laravel backend with Blade templating and a Filament admin panel
  • Rooms, anomalies and reports modelled as first-class resources
  • Role and permission based access control, enforced with Laravel policies

The problem

Logistical defects in training rooms were reported informally, which makes them easy to lose and hard to track to resolution. The application gives each defect a record, an owner and a state.

How it is built

Domain model

  • Salle (room), Anomalie (anomaly) and Rapport (report) resources, each with full CRUD
  • Reports attach an anomaly to a room, so a defect always has a location

Authorisation

Rather than one shared admin login, access is explicit:

  • Roles and permissions assigned per user
  • Laravel policies for users, roles and reports, so authorisation is enforced in one place rather than scattered through controllers
  • Admin navigation, redirects and notifications customised per role

What I took from it

Most of the work was not the CRUD, it was the authorisation model: deciding who may see and change what, then expressing it as policies rather than scattered conditionals. That separation between what the app does and who is allowed to do it is the same thinking that shows up later in identity-based network access control.