📋 Portfolio Project: Enterprise Security & Attendance Management System

⚠️ Confidentiality Notice: To maintain professional integrity and respect agreements with clients/employers, specific details have been omitted. Code samples are conceptual implementations.


🎯 Project Overview

Project Type: Enterprise Security & Attendance Management System

Role: Full-Stack Developer

Industry: Security Services / Workforce Management

Status: Production - actively used by security team and HR


💡 Summary

Built a security and attendance management system enterprise-level end-to-end, including:

  • GPS-Based Attendance with Location Validation
  • Live Video Monitoring with streaming and archive
  • Mobile-First Interface for field security
  • Overtime/Lembur Management with approval workflow
  • Incident & Activity Reporting with photo/video upload
  • Emergency Contact System with categorization
  • Multi-Dashboard for Admin, HRD, and Security

System actively used by security team, HR, and management.


🛠️ Technology Stack

Backend

TechnologyPurpose
Laravel 11Core PHP Framework
PHP 8.2+Server-side Language
MySQLRelational Database
Laravel FortifyAuthentication System
Spatie PermissionRole & Permission Management
Laravel SanctumAPI Token Authentication
DomPDF 3.1PDF Generation
Intervention ImageImage Processing

Frontend

TechnologyPurpose
Vue.js 3Reactive UI Framework
Inertia.js 2.0Modern SPA Architecture
Vite 6.3Modern Build Tool
Tailwind CSS 3.4Utility-First Styling
Element PlusEnterprise UI Components
Ant Design VueAdditional UI Components

Media & Data Visualization

TechnologyPurpose
Video.js 8.22Video Player & Streaming
PlyrAlternative Media Player
ECharts 5.6Advanced Charting Library
Vue EChartsVue Wrapper for ECharts
Browser Image CompressionClient-side Image Optimization

📊 Project Scale

37+
Controllers
26+
Database Models
33+
Migrations
250+
API Routes
50+
Vue.js Pages
5
User Roles
13+
Seeders
Multiple
Export Classes

✨ Key Features Developed

📸 1. GPS-Based Attendance System

Attendance system with GPS location validation.

What I Built:

  • Camera Integration - Real-time camera access
  • GPS Location Tracking - Real-time location tracking
  • Max Distance Validation - Radius validation from work location
  • Selfie Capture - Photo capture for proof
  • Check-in/Check-out - Check-in/check-out system
  • History Tracking - Complete attendance history

Technical Highlight:

// Attendance with GPS validation
public function store(Request $request)
{
    $validated = $request->validate([
        'photo' => 'required|string',
        'latitude' => 'required|numeric',
        'longitude' => 'required|numeric',
    ]);

    $location = $this->validateLocation(
        $validated['latitude'],
        $validated['longitude']
    );

    if (!$location) {
        return back()->withErrors(['location' => 'Outside work area']);
    }

    $absen = Absen::create([
        'user_id' => auth()->id(),
        'lokasi_id' => $location->id,
        'photo' => $this->processPhoto($validated['photo']),
        'check_in' => now(),
        'latitude' => $validated['latitude'],
        'longitude' => $validated['longitude'],
        'status' => 'present'
    ]);
}

📹 2. Live Video Monitoring System

Live monitoring system with streaming and archive.

What I Built:

  • Video Upload - Upload incident videos
  • Multi-file Upload - Upload multiple videos
  • Video Player - Video.js integration
  • Video Archive - Video storage and browsing
  • Role-based Access - Security only can upload/delete
  • Storage Health Check - Storage capacity monitoring

📱 3. Mobile-First Security Interface

Dedicated interface for field security.

What I Built:

  • Mobile Dashboard - Simplified UI for mobile
  • Quick Actions - Check-in, report incident, emergency
  • Camera Access - Selfie and incident photos
  • GPS Integration - Location tracking
  • Offline Consideration - Graceful handling

Pages: Mobile_satpam.vue, Mobile_satpam_first.vue

⏰ 4. Overtime/Lembur Management

Overtime request and approval system.

  • Overtime Request - Overtime request by security
  • Approval Workflow - HRD approval/reject
  • Hour Calculation - Overtime hours calculation
  • Overtime Report - Overtime reports

🚨 5. Incident & Activity Reporting

Daily incident and activity reporting system.

  • Daily Incidents - Daily incident reports
  • Priority Reports - High-priority incidents
  • Photo/Video Upload - Media attachment
  • Comment System - Comments on reports
  • Time Tracking - Incident time

Report Types:

TypeDescription
Daily IncidentsRoutine incidents
Priority ReportsHigh-priority incidents
ActivitiesDaily activities log

📞 6. Emergency Contact System

  • • Contact category management
  • • Contact CRUD
  • • Quick access for emergencies
  • • Role-based View

📅 7. Schedule Management

  • • Work Schedule
  • • Attendance Schedule
  • • Daily schedule per employee
  • • Shift & Holiday Management

📍 8. Location Management

  • • Location CRUD
  • • GPS Coordinates (Lat/Long)
  • • Max Distance Radius
  • • Multi-location Support

📊 10. Attendance Reporting

  • • Admin Reports
  • • Personal Reports
  • • Date Range Filtering
  • • Export Excel/PDF

👥 9. Role-Based Dashboards

RoleDashboard Features
ITFull access, system config
HRDSchedule management, reports, user management
SecurityAttendance, incidents, activities
ManagementView reports, analytics
CustomConfigurable permissions

🏢 11. Company Information Pages

  • • Company Philosophy
  • • Vision & Mission
  • • Work Ethics
  • • Work Ethos
  • • Regulations

🏗️ Architecture Decisions

Mobile-First Design

Challenge: Field security majority access via mobile.

Solution: Dedicated mobile interface with simplified UI and touch-friendly controls.

Result: Optimal user experience for field security with one-hand operation.

GPS Location Validation

Challenge: Prevent attendance fraud.

Solution: GPS validation with max distance threshold.

Result: Highly secure attendance that minimally can be faked.

Video Archive System

Challenge: Storage and playback of incident videos.

Solution: Video.js for playback, structured storage, storage health monitoring.

Result: Reliable video archive with easy access.


🔧 Technical Challenges Solved

1. GPS Accuracy Issues

Challenge: GPS accuracy varies per device/location.

Solution: Configurable max distance threshold per location.

2. Video Upload Size

Challenge: Large video files for incident reporting.

Solution: Chunked upload, compression, progress tracking.

3. Offline Handling

Challenge: Field security may be in low signal areas.

Solution: Graceful error handling, retry mechanisms.

4. Schedule Complexity

Challenge: Multiple shift patterns and daily schedules.

Solution: Flexible schedule system with toggle status.


🔒 Security Implementation

FeatureImplementation
CSRF ProtectionLaravel default
XSS PreventionVue template escaping
SQL InjectionEloquent ORM
AuthenticationLaravel Fortify + Sanctum
AuthorizationSpatie Permission + Role Middleware
Two-Factor AuthAvailable
Location VerificationGPS + Max Distance

📱 Mobile Optimization

Features

  • • Touch-friendly UI
  • • One-hand operation design
  • • Camera/GPS access optimization
  • • Image compression before upload
  • • Minimal data usage
  • • Progressive loading

Responsive Breakpoints

  • • Mobile: < 768px (Primary target)
  • • Tablet: 768px - 1024px
  • • Desktop: > 1024px

🎯 Skills Demonstrated

CategorySkills
Full-Stack DevelopmentLaravel 11 + Vue.js 3 + Inertia.js 2.0
Modern ToolingVite 6.3, Tailwind CSS 3.4
GeolocationGPS Tracking & Validation
Media HandlingVideo.js, Image Compression
Mobile DevelopmentMobile-First Design
SecurityRBAC, Location Verification
ReportingExcel/PDF generation

💡 Key Learnings

  1. 1. Mobile-First Importance: For field workers, mobile experience is primary concern - design for mobile first.
  2. 2. GPS Verification: GPS location validation provides strong security layer for attendance fraud prevention.
  3. 3. Media Handling Complexity: Video upload from mobile devices requires careful handling for size, compression, and upload reliability.
  4. 4. GPS Variability: GPS accuracy varies per device and environment - configurable threshold is the solution.
  5. 5. Offline Consideration: Field workers may be in areas with poor connectivity - graceful degradation is important.

This portfolio document describes work completed in a professional capacity. Specific implementation details have been omitted to maintain confidentiality.