← All Projects
True Holiday Admin Dashboard — Backend project by Jatinder Sandhu
Backend2025

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.

PHPMySQLBootstrapjQuery . AJAX . REST APIs
Private ProjectHire Me

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

4 photos

Work With Me

NEED A RELIABLE
DEVELOPER?

Clean code, practical delivery, and remote-friendly across time zones.