📋 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
| Technology | Purpose |
|---|---|
| Laravel 11 | Core PHP Framework |
| PHP 8.2+ | Server-side Language |
| MySQL | Relational Database |
| Laravel Fortify | Authentication System |
| Spatie Permission | Role & Permission Management |
| Laravel Sanctum | API Token Authentication |
| DomPDF 3.1 | PDF Generation |
| Intervention Image | Image Processing |
Frontend
| Technology | Purpose |
|---|---|
| Vue.js 3 | Reactive UI Framework |
| Inertia.js 2.0 | Modern SPA Architecture |
| Vite 6.3 | Modern Build Tool |
| Tailwind CSS 3.4 | Utility-First Styling |
| Element Plus | Enterprise UI Components |
| Ant Design Vue | Additional UI Components |
Media & Data Visualization
| Technology | Purpose |
|---|---|
| Video.js 8.22 | Video Player & Streaming |
| Plyr | Alternative Media Player |
| ECharts 5.6 | Advanced Charting Library |
| Vue ECharts | Vue Wrapper for ECharts |
| Browser Image Compression | Client-side Image Optimization |
📊 Project Scale
✨ 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:
| Type | Description |
|---|---|
| Daily Incidents | Routine incidents |
| Priority Reports | High-priority incidents |
| Activities | Daily 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
| Role | Dashboard Features |
|---|---|
| IT | Full access, system config |
| HRD | Schedule management, reports, user management |
| Security | Attendance, incidents, activities |
| Management | View reports, analytics |
| Custom | Configurable 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
| Feature | Implementation |
|---|---|
| CSRF Protection | Laravel default |
| XSS Prevention | Vue template escaping |
| SQL Injection | Eloquent ORM |
| Authentication | Laravel Fortify + Sanctum |
| Authorization | Spatie Permission + Role Middleware |
| Two-Factor Auth | Available |
| Location Verification | GPS + 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
| Category | Skills |
|---|---|
| Full-Stack Development | Laravel 11 + Vue.js 3 + Inertia.js 2.0 |
| Modern Tooling | Vite 6.3, Tailwind CSS 3.4 |
| Geolocation | GPS Tracking & Validation |
| Media Handling | Video.js, Image Compression |
| Mobile Development | Mobile-First Design |
| Security | RBAC, Location Verification |
| Reporting | Excel/PDF generation |
💡 Key Learnings
- 1. Mobile-First Importance: For field workers, mobile experience is primary concern - design for mobile first.
- 2. GPS Verification: GPS location validation provides strong security layer for attendance fraud prevention.
- 3. Media Handling Complexity: Video upload from mobile devices requires careful handling for size, compression, and upload reliability.
- 4. GPS Variability: GPS accuracy varies per device and environment - configurable threshold is the solution.
- 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.