
True Holiday Admin Dashboard
A custom Laravel admin dashboard built to replace manual spreadsheet tracking — centralizing employee records, order lifecycles, and role-based access into one real-time internal management system.
3-Tier
User Roles
RBAC
Access Control
Filtered
Data Sorting
Minimal
UI Learning Curve
Overview
What is this project?
Designed and developed a full-featured company admin dashboard for True Holiday as a centralized internal management system, built to replace inefficient manual spreadsheets and give business owners a clear, real-time view of their day-to-day company operations. I was brought onto this project as the Laravel developer, tasked with building a custom employee and order management system from scratch — not an off-the-shelf tool — because the business needed role-specific views for admins, managers, and staff, and none of the generic dashboard products on the market matched how the company actually operated. The result is an internal admin dashboard covering employee tracking, order lifecycle management, and role-based access control in one system.
Business Challenge
What problem needed solving?
The client relied on manual spreadsheet-based tracking systems that were slow, prone to human error, and gave no real-time visibility into what was actually happening across the business. Managing employee records, tracking order lifecycles from creation through completion, and ensuring secure, role-based data access for admins, managers, and staff was an entirely manual, error-prone process, leading to delayed decision-making and real security risks — anyone with access to the spreadsheet could see or edit data well outside their role. There was no audit trail, no permission structure, and no single source of truth for order status, which made it difficult for the business owner to catch problems before they became customer-facing issues.
Solution
How was it built?
Built a robust Laravel and MySQL admin dashboard featuring multi-level Role-Based Access Control (RBAC) for admins, managers, and staff, so each user only sees the data and actions relevant to their role. Delivered real-time employee and team tracking, end-to-end orders and sales lifecycle management from creation to completion, and custom filterable data tables designed to handle growing data volumes cleanly without slowing down as the business scaled. Implemented secure role-based session authentication, protected routes at the middleware level, and an intuitive admin UI built with Bootstrap and jQuery, optimised specifically for non-technical staff who had never used an internal software system before. The dashboard was designed around how the business actually works day-to-day rather than a generic CRM template, which made adoption by staff far smoother than a typical off-the-shelf tool would have been.
My Role & Responsibilities
What did I own on this project?
I was responsible for the full build: sitting with the client to understand exactly how their spreadsheet-based tracking broke down day to day, designing the relational database schema for employees and orders, and defining the permission matrix for the three roles (admin, manager, staff) before writing a single controller. I built the Laravel backend, the RBAC middleware, the Bootstrap/jQuery admin UI, and the filtered data tables, then tested each role's access boundaries myself to make sure a manager account could never reach admin-only routes. I also handled deployment and walked the client's staff through the new dashboard.
Technical Challenges
What broke, and how was it fixed?
The hardest part wasn't any single feature — it was designing a permission model that stayed maintainable as more views and actions got added, instead of scattering role checks across every controller. I centralised access control in dedicated RBAC middleware so each route declares what it needs once, rather than re-checking roles inline everywhere. The second challenge was migrating years of spreadsheet-based employee and order records into a clean relational schema without losing history — that meant writing careful data-mapping scripts and validating row counts before and after import. I also had to keep the filterable order tables fast as data grew, which meant moving filtering and pagination to the server side instead of loading everything into the browser. Because this is an internal business tool handling employee and order data, security wasn't optional — every route and query needed to assume a user might try to access data outside their role, not just handle the happy path.
Results & Impact
What changed after launch?
The client moved off manual spreadsheets entirely and onto a single centralized system. Employee records, order lifecycles, and role-based access are now handled in one Laravel admin dashboard, with managers and staff each seeing exactly the data relevant to their role — cutting out the manual reconciliation, duplicate data entry, and back-and-forth that the spreadsheet workflow required. Order status is now visible in real time instead of being tracked across separate files, and the business owner can see exactly what's happening across the company without asking staff for updates. Staff onboarding onto the new system also proved far quicker than expected, since the UI was designed specifically for non-technical users rather than a generic admin template.
Key Learnings
On any RBAC-heavy system, getting the permission matrix right before writing the first controller saves far more time than retrofitting access control after the fact. Internal business tools also succeed or fail on how quickly non-technical staff can adopt them — a technically correct dashboard that staff find confusing delivers far less value than a simpler one they actually use daily.
Project Screenshots
More Work
Related Projects
Aracuda Inspection SaaS Platform
A multi-role inspection SaaS marketplace and CRM — managing client bookings, agent bidding, inspector scheduling, secure document uploads, and subscription billing in one Laravel platform.
Laravel · MySQL · JavaScript · REST APIs
Luxorlimo
A premium limousine rental website serving Toronto, Brampton, Mississauga, and 20+ GTA cities — built to generate booking enquiries and maximise local SEO visibility.
WordPress · Elementor · Local SEO
Work With Me
NEED A RELIABLE
DEVELOPER?
Clean code, practical delivery, and remote-friendly across time zones.