Back to selected work

ENGINEERING CASE STUDY · BUSINESS APPLICATIONS

Employee Management System
Engineering case study.

LARAVEL 10 · SPLADE · VUE 3 · TAILWIND CSS · VITE · SPATIE/LARAVEL-PERMISSION · MYSQL · LARAVEL DUSK

A Laravel and Splade admin for employee records, locations and role-based access.

Role
Full stack developer
Type
Implemented in small companies
Status
In use to manage employees
Source
Base project public; client-modified components private

01 / OVERVIEW

The project

An application that lets an organisation keep and maintain its employee records. The admin area provides searchable, sortable tables and forms for employees, departments and locations, and screens for managing users, roles and permissions. It was implemented in small companies to manage their employees. The public repository contains the base project only; the components completed or modified for those companies are privately owned and cannot be shared.

02 / ARCHITECTURE

How it fits together

How an admin user reaches employee records through role-protected screens.

USER

Admin user

Signs in and must hold the admin role to reach the admin area.

Based on the published repository.

03 / CONTRIBUTION

My contribution

  • Modelled employees with department, country, state and city relationships, plus birth and hire dates.
  • Built admin resources for employees, departments, countries, states and cities, and for users, roles and permissions.
  • Implemented role-based access with spatie/laravel-permission, so the whole admin area requires the admin role.
  • Built data tables with Splade and spatie/laravel-query-builder, with sorting, searching, pagination, bulk actions and exports.

04 / ENGINEERING

Engineering notes

  • Splade lets Blade views behave like a Vue single-page interface without a separate API layer, which kept the admin quick to build.
  • Table and form definitions live in their own classes, so each resource stays small and consistent.
  • Authorization is handled by roles and permissions in the database rather than hard-coded checks.
  • Dusk browser testing and PHPUnit are configured for the project.

TECHNOLOGY

Tools selected for the work.

Laravel 10SpladeVue 3Tailwind CSSVitespatie/laravel-permissionMySQLLaravel Dusk