Project Overview
Built to understand what frameworks do internally: a custom router, Auth and Admin middleware, request/response abstraction, an autoloader, a rule-based validator, global exception handling with clean JSON errors, and a plain-JavaScript admin dashboard for managing users and roles. Dockerised with MySQL and phpMyAdmin.