Skip to content

MaherRemita/security-guard-management-system

Repository files navigation

Security Guard Management System

This project is a technical assessment demonstrating full-stack development skills using Laravel, React, and Inertia.js. The system includes two main parts: a user management admin panel and a RESTful API for mission booking operations.


Quick Links

Live Demo Postman Workspace


Project Overview

This assessment is divided into two parts:

Part 1: Admin Panel (Web Interface)

A complete user management system with authentication, CRUD operations, search/filter functionality, and data visualization features. Built using Laravel with Inertia.js and React for the frontend.

Part 2: RESTful API

A mission booking API following REST principles with Sanctum authentication. Includes CRUD operations for missions, professions, and guard groups.


Database Schema

Entity Relationship Diagram

ER Diagram

Setup and Installation

Installation Steps

  1. Clone the repository
git clone https://github.com/MaherRemita/security-guard-management-system.git
  1. Install PHP dependencies
composer install
  1. Install JavaScript dependencies
npm install
  1. Run migrations and seeder
php artisan migrate --seed
  1. Build frontend assets
npm run build
  1. Start the development servers
php artisan dev

The application will be available at http://localhost:8000

Default Admin Credentials

Email: [email protected]
Password: password

Design Patterns

Service Layer Pattern

All business logic is abstracted into service classes (app/Services) to keep controllers lean and focused on HTTP handling. This provides:

  • Separation of Concerns: Controllers handle HTTP, Services handle business logic
  • Reusability: Services can be used across multiple controllers
  • Testability: Business logic can be tested independently
  • Maintainability: Changes to business logic are isolated

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages