erp-system/
│
├── app/
│   ├── Core/                                      # Core Infrastructure Layer
│   │   ├── Container/
│   │   │   ├── Container.php
│   │   │   ├── ServiceProvider.php
│   │   │   └── BindingResolutionException.php
│   │   │
│   │   ├── Database/
│   │   │   ├── Connection.php
│   │   │   ├── ConnectionFactory.php
│   │   │   ├── QueryBuilder.php
│   │   │   ├── QueryGrammar.php
│   │   │   ├── TransactionManager.php
│   │   │   ├── Migrator.php
│   │   │   ├── Migration.php
│   │   │   ├── Seeder.php
│   │   │   └── Schema/
│   │   │       ├── Blueprint.php
│   │   │       └── SchemaBuilder.php
│   │   │
│   │   ├── Http/
│   │   │   ├── Request.php
│   │   │   ├── Response.php
│   │   │   ├── Controller.php
│   │   │   ├── ApiController.php
│   │   │   ├── ApiResponse.php
│   │   │   ├── JsonResponse.php
│   │   │   ├── RedirectResponse.php
│   │   │   ├── ViewResponse.php
│   │   │   ├── Route.php
│   │   │   ├── Router.php
│   │   │   ├── RouteGroup.php
│   │   │   └── Middleware/
│   │   │       ├── Authenticate.php
│   │   │       ├── RoleMiddleware.php
│   │   │       ├── PermissionMiddleware.php
│   │   │       ├── DepartmentScope.php
│   │   │       ├── BranchScope.php
│   │   │       ├── Cors.php
│   │   │       ├── RateLimit.php
│   │   │       ├── TenantScope.php
│   │   │       ├── AttendanceScope.php
│   │   │       ├── VerifyCsrfToken.php
│   │   │       ├── TrimStrings.php
│   │   │       └── ConvertEmptyStringsToNull.php
│   │   │
│   │   ├── Auth/
│   │   │   ├── AuthManager.php
│   │   │   ├── UnifiedAuth.php
│   │   │   ├── RBAC.php
│   │   │   ├── PasswordHasher.php
│   │   │   ├── JwtAuth.php
│   │   │   ├── BiometricAuth.php
│   │   │   ├── SimpleAuth.php
│   │   │   ├── PinAuth.php
│   │   │   ├── Role.php
│   │   │   ├── Permission.php
│   │   │   ├── Gate.php
│   │   │   ├── AccessDeniedException.php
│   │   │   └── Policies/
│   │   │       ├── PolicyRegistry.php
│   │   │       ├── Policy.php
│   │   │       └── AuthorizesRequests.php
│   │   │
│   │   ├── Cache/
│   │   │   ├── CacheManager.php
│   │   │   ├── RedisAdapter.php
│   │   │   ├── FileCache.php
│   │   │   ├── MemcachedAdapter.php
│   │   │   ├── ArrayCache.php
│   │   │   ├── Cacheable.php
│   │   │   ├── CacheTags.php
│   │   │   └── CacheInvalidationException.php
│   │   │
│   │   ├── Queue/
│   │   │   ├── QueueManager.php
│   │   │   ├── Job.php
│   │   │   ├── Worker.php
│   │   │   ├── FailedJobs.php
│   │   │   ├── JobProcessor.php
│   │   │   ├── QueueWorker.php
│   │   │   ├── SyncQueue.php
│   │   │   ├── RedisQueue.php
│   │   │   ├── DatabaseQueue.php
│   │   │   ├── ShouldQueue.php
│   │   │   ├── InteractsWithQueue.php
│   │   │   └── JobFailedException.php
│   │   │
│   │   ├── Validation/
│   │   │   ├── Validator.php
│   │   │   ├── ValidationException.php
│   │   │   ├── ValidationRule.php
│   │   │   ├── Factory.php
│   │   │   └── Rules/
│   │   │       ├── UniqueRule.php
│   │   │       ├── ExistsRule.php
│   │   │       ├── EmailRule.php
│   │   │       ├── PhoneRule.php
│   │   │       ├── DateRule.php
│   │   │       ├── NumericRule.php
│   │   │       ├── FileRule.php
│   │   │       ├── ImageRule.php
│   │   │       ├── PasswordRule.php
│   │   │       ├── ConfirmedRule.php
│   │   │       └── CustomRule.php
│   │   │
│   │   ├── Exceptions/
│   │   │   ├── Handler.php
│   │   │   ├── CustomException.php
│   │   │   ├── ValidationException.php
│   │   │   ├── AuthenticationException.php
│   │   │   ├── AuthorizationException.php
│   │   │   ├── NotFoundException.php
│   │   │   ├── MethodNotAllowedException.php
│   │   │   ├── TooManyRequestsException.php
│   │   │   ├── MaintenanceModeException.php
│   │   │   └── renderers/
│   │   │       ├── JsonExceptionRenderer.php
│   │   │       └── HtmlExceptionRenderer.php
│   │   │
│   │   ├── Logger/
│   │   │   ├── Logger.php
│   │   │   ├── LogManager.php
│   │   │   ├── FileLogger.php
│   │   │   ├── DatabaseLogger.php
│   │   │   ├── CloudLogger.php
│   │   │   ├── EmailLogger.php
│   │   │   ├── SlackLogger.php
│   │   │   ├── LogLevel.php
│   │   │   ├── LogFormatter.php
│   │   │   └── LogRotator.php
│   │   │
│   │   ├── Contracts/
│   │   │   ├── RepositoryInterface.php
│   │   │   ├── ServiceInterface.php
│   │   │   ├── EventInterface.php
│   │   │   ├── ModuleInterface.php
│   │   │   ├── Authenticatable.php
│   │   │   ├── CanResetPassword.php
│   │   │   ├── Authorizable.php
│   │   │   └── Queueable.php
│   │   │
│   │   ├── Traits/
│   │   │   ├── TimestampableTrait.php
│   │   │   ├── SoftDeletesTrait.php
│   │   │   ├── ModuleTrait.php
│   │   │   ├── EventableTrait.php
│   │   │   ├── AttendanceTrackable.php
│   │   │   ├── SearchableTrait.php
│   │   │   ├── FilterableTrait.php
│   │   │   ├── SortableTrait.php
│   │   │   ├── PaginatableTrait.php
│   │   │   ├── HasUuidTrait.php
│   │   │   ├── HasSlugTrait.php
│   │   │   ├── HasStatusTrait.php
│   │   │   ├── HasApprovalsTrait.php
│   │   │   └── HasAuditTrait.php
│   │   │
│   │   └── BI/                                      # Business Intelligence
│   │       ├── AnalyticsEngine.php
│   │       ├── ReportBuilder.php
│   │       ├── ChartGenerator.php
│   │       ├── DataWarehouse.php
│   │       ├── ETLProcessor.php
│   │       ├── KPICalculator.php
│   │       ├── Metrics/
│   │       │   ├── AttendanceMetrics.php
│   │       │   ├── InventoryMetrics.php
│   │       │   ├── ProcurementMetrics.php
│   │       │   └── FinancialMetrics.php
│   │       ├── Forecasting/
│   │       │   ├── DemandForecaster.php
│   │       │   └── TrendAnalyzer.php
│   │       └── Dashboards/
│   │           ├── DashboardRenderer.php
│   │           └── WidgetManager.php
│   │
│   ├── Layout/                                      # Unified Layout System
│   │   ├── Views/
│   │   │   ├── layouts/
│   │   │   │   ├── main_layout.php
│   │   │   │   ├── admin_layout.php
│   │   │   │   ├── manager_layout.php
│   │   │   │   ├── hr_layout.php
│   │   │   │   ├── gatekeeper_layout.php
│   │   │   │   ├── store_layout.php
│   │   │   │   ├── librarian_layout.php
│   │   │   │   ├── technician_layout.php
│   │   │   │   ├── assistant_layout.php
│   │   │   │   └── auth_layout.php
│   │   │   ├── partials/
│   │   │   │   ├── header.php
│   │   │   │   ├── footer.php
│   │   │   │   ├── sidebar.php
│   │   │   │   ├── navigation.php
│   │   │   │   ├── breadcrumbs.php
│   │   │   │   ├── alerts.php
│   │   │   │   ├── modals.php
│   │   │   │   └── loading.php
│   │   │   └── components/
│   │   │       ├── cards.php
│   │   │       ├── tables.php
│   │   │       ├── forms.php
│   │   │       ├── buttons.php
│   │   │       ├── pagination.php
│   │   │       └── charts.php
│   │   │
│   │   ├── Controllers/
│   │   │   └── LayoutController.php
│   │   │
│   │   └── Services/
│   │       ├── MenuService.php
│   │       ├── SidebarBuilder.php
│   │       ├── ThemeManager.php
│   │       └── LayoutRenderer.php
│   │
│   ├── Domains/                                     # Domain Modules
│   │   ├── CoreModule/
│   │   │   ├── Providers/
│   │   │   │   └── CoreServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── User.php
│   │   │   │   ├── Role.php
│   │   │   │   ├── Permission.php
│   │   │   │   ├── Department.php
│   │   │   │   ├── Branch.php
│   │   │   │   ├── Company.php
│   │   │   │   ├── Setting.php
│   │   │   │   ├── AuditLog.php
│   │   │   │   ├── Notification.php
│   │   │   │   ├── ActivityLog.php
│   │   │   │   ├── Session.php
│   │   │   │   ├── LoginAttempt.php
│   │   │   │   └── PasswordReset.php
│   │   │   ├── Repositories/
│   │   │   │   ├── UserRepository.php
│   │   │   │   ├── RoleRepository.php
│   │   │   │   ├── PermissionRepository.php
│   │   │   │   ├── DepartmentRepository.php
│   │   │   │   ├── SettingRepository.php
│   │   │   │   └── AuditLogRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── AuthService.php
│   │   │   │   ├── PermissionService.php
│   │   │   │   ├── RoleService.php
│   │   │   │   ├── UserService.php
│   │   │   │   ├── SettingService.php
│   │   │   │   ├── AuditService.php
│   │   │   │   ├── NotificationService.php
│   │   │   │   ├── ActivityLogger.php
│   │   │   │   └── SystemHealthService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── Auth/
│   │   │   │   │   ├── LoginController.php
│   │   │   │   │   ├── LogoutController.php
│   │   │   │   │   ├── RegisterController.php
│   │   │   │   │   ├── ForgotPasswordController.php
│   │   │   │   │   ├── ResetPasswordController.php
│   │   │   │   │   ├── VerifyEmailController.php
│   │   │   │   │   └── TwoFactorController.php
│   │   │   │   ├── Admin/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── UserManagementController.php
│   │   │   │   │   ├── RoleManagementController.php
│   │   │   │   │   ├── PermissionManagementController.php
│   │   │   │   │   ├── DepartmentController.php
│   │   │   │   │   ├── BranchController.php
│   │   │   │   │   ├── AuditLogController.php
│   │   │   │   │   ├── SystemSettingsController.php
│   │   │   │   │   ├── BackupController.php
│   │   │   │   │   └── MaintenanceController.php
│   │   │   │   └── ProfileController.php
│   │   │   ├── Events/
│   │   │   │   ├── UserLoggedIn.php
│   │   │   │   ├── UserLoggedOut.php
│   │   │   │   ├── UserCreated.php
│   │   │   │   ├── UserUpdated.php
│   │   │   │   ├── UserDeleted.php
│   │   │   │   ├── RoleAssigned.php
│   │   │   │   └── PermissionChanged.php
│   │   │   ├── Listeners/
│   │   │   │   ├── LogUserActivity.php
│   │   │   │   ├── SendWelcomeEmail.php
│   │   │   │   └── ClearUserCache.php
│   │   │   ├── Jobs/
│   │   │   │   ├── SendDailyDigest.php
│   │   │   │   ├── CleanupOldLogs.php
│   │   │   │   └── GenerateSystemReport.php
│   │   │   ├── Console/
│   │   │   │   └── Commands/
│   │   │   │       ├── CreateAdminCommand.php
│   │   │   │       ├── ResetUserPasswordCommand.php
│   │   │   │       └── SystemStatusCommand.php
│   │   │   ├── DTOs/
│   │   │   │   ├── UserDTO.php
│   │   │   │   ├── RoleDTO.php
│   │   │   │   └── PermissionDTO.php
│   │   │   ├── Enums/
│   │   │   │   ├── UserStatusEnum.php
│   │   │   │   └── UserRoleEnum.php
│   │   │   └── Routes/
│   │   │       ├── web.php
│   │   │       ├── api.php
│   │   │       └── admin.php
│   │   │
│   │   ├── AttendanceModule/
│   │   │   ├── Providers/
│   │   │   │   └── AttendanceServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── Employee.php
│   │   │   │   ├── Gatekeeper.php
│   │   │   │   ├── Attendance.php
│   │   │   │   ├── AttendanceShift.php
│   │   │   │   ├── AttendanceSchedule.php
│   │   │   │   ├── AttendancePolicy.php
│   │   │   │   ├── Leave.php
│   │   │   │   ├── LeaveType.php
│   │   │   │   ├── LeaveBalance.php
│   │   │   │   ├── LeaveApproval.php
│   │   │   │   ├── LeaveEntitlement.php
│   │   │   │   ├── LeaveAccrual.php
│   │   │   │   ├── LeaveRequest.php
│   │   │   │   ├── Overtime.php
│   │   │   │   ├── OvertimeRate.php
│   │   │   │   ├── OvertimeApproval.php
│   │   │   │   ├── Break.php
│   │   │   │   ├── BreakType.php
│   │   │   │   ├── BreakPolicy.php
│   │   │   │   ├── ExcusedAbsence.php
│   │   │   │   ├── Holiday.php
│   │   │   │   ├── HolidayCalendar.php
│   │   │   │   ├── AttendanceException.php
│   │   │   │   ├── AttendanceSummary.php
│   │   │   │   ├── AttendanceCorrection.php
│   │   │   │   ├── BiometricLog.php
│   │   │   │   ├── BiometricDevice.php
│   │   │   │   ├── GeolocationLog.php
│   │   │   │   ├── TimeZone.php
│   │   │   │   ├── WorkWeek.php
│   │   │   │   ├── ShiftPattern.php
│   │   │   │   ├── ShiftRotation.php
│   │   │   │   ├── ShiftTeam.php
│   │   │   │   ├── CalendarSync.php
│   │   │   │   └── AttendanceReport.php
│   │   │   ├── Repositories/
│   │   │   │   ├── EmployeeRepository.php
│   │   │   │   ├── GatekeeperRepository.php
│   │   │   │   ├── AttendanceRepository.php
│   │   │   │   ├── LeaveRepository.php
│   │   │   │   ├── LeaveTypeRepository.php
│   │   │   │   ├── LeaveBalanceRepository.php
│   │   │   │   ├── OvertimeRepository.php
│   │   │   │   ├── BreakRepository.php
│   │   │   │   ├── HolidayRepository.php
│   │   │   │   ├── ShiftRepository.php
│   │   │   │   └── ScheduleRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── ClockService.php
│   │   │   │   ├── BreakService.php
│   │   │   │   ├── LeaveService.php
│   │   │   │   ├── LeaveApprovalService.php
│   │   │   │   ├── LeaveBalanceService.php
│   │   │   │   ├── LeaveAccrualService.php
│   │   │   │   ├── OvertimeService.php
│   │   │   │   ├── OvertimeCalculationService.php
│   │   │   │   ├── ExcusedAbsenceService.php
│   │   │   │   ├── HolidayService.php
│   │   │   │   ├── AttendanceReportingService.php
│   │   │   │   ├── AttendanceAnalyticsService.php
│   │   │   │   ├── AttendanceCorrectionService.php
│   │   │   │   ├── ShiftSchedulingService.php
│   │   │   │   ├── BiometricService.php
│   │   │   │   ├── GeofencingService.php
│   │   │   │   ├── CalendarSyncService.php
│   │   │   │   ├── PayrollIntegrationService.php
│   │   │   │   ├── GatekeeperService.php
│   │   │   │   ├── NotificationService.php
│   │   │   │   └── PolicyEnforcementService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── Gatekeeper/
│   │   │   │   │   ├── ClockController.php
│   │   │   │   │   ├── StaffSearchController.php
│   │   │   │   │   ├── ManualEntryController.php
│   │   │   │   │   ├── TodayListController.php
│   │   │   │   │   └── BreakController.php
│   │   │   │   ├── HR/
│   │   │   │   │   ├── HRDashboardController.php
│   │   │   │   │   ├── LeaveManagementController.php
│   │   │   │   │   ├── LeaveApprovalController.php
│   │   │   │   │   ├── LeaveBalanceController.php
│   │   │   │   │   ├── LeaveTypeController.php
│   │   │   │   │   ├── LeavePolicyController.php
│   │   │   │   │   ├── MaternityLeaveController.php
│   │   │   │   │   ├── PaternityLeaveController.php
│   │   │   │   │   ├── SickLeaveController.php
│   │   │   │   │   ├── AnnualLeaveController.php
│   │   │   │   │   ├── EmergencyLeaveController.php
│   │   │   │   │   ├── ExcusedAbsenceController.php
│   │   │   │   │   ├── OvertimeApprovalController.php
│   │   │   │   │   ├── AttendanceViewController.php
│   │   │   │   │   ├── AttendanceCorrectionController.php
│   │   │   │   │   ├── ShiftManagementController.php
│   │   │   │   │   ├── ScheduleController.php
│   │   │   │   │   ├── HolidayController.php
│   │   │   │   │   ├── HRReportsController.php
│   │   │   │   │   └── EmployeeAttendanceController.php
│   │   │   │   ├── Manager/
│   │   │   │   │   ├── DepartmentAttendanceController.php
│   │   │   │   │   ├── DepartmentLeaveController.php
│   │   │   │   │   ├── TeamScheduleController.php
│   │   │   │   │   └── AttendanceReportsController.php
│   │   │   │   └── Admin/
│   │   │   │       ├── ShiftPatternController.php
│   │   │   │       ├── GatekeeperManagementController.php
│   │   │   │       ├── BiometricDeviceController.php
│   │   │   │       ├── AttendanceSettingsController.php
│   │   │   │       ├── PolicyController.php
│   │   │   │       └── CalendarSyncController.php
│   │   │   ├── Events/
│   │   │   │   ├── StaffClockedIn.php
│   │   │   │   ├── StaffClockedOut.php
│   │   │   │   ├── BreakStarted.php
│   │   │   │   ├── BreakEnded.php
│   │   │   │   ├── LunchBreakStarted.php
│   │   │   │   ├── LunchBreakEnded.php
│   │   │   │   ├── LeaveRequested.php
│   │   │   │   ├── LeaveApproved.php
│   │   │   │   ├── LeaveRejected.php
│   │   │   │   ├── LeaveCancelled.php
│   │   │   │   ├── MaternityLeaveRequested.php
│   │   │   │   ├── PaternityLeaveRequested.php
│   │   │   │   ├── SickLeaveRequested.php
│   │   │   │   ├── OvertimeRequested.php
│   │   │   │   ├── OvertimeApproved.php
│   │   │   │   ├── ExcusedAbsenceGranted.php
│   │   │   │   ├── LateArrival.php
│   │   │   │   ├── EarlyDeparture.php
│   │   │   │   ├── AbsentDetected.php
│   │   │   │   ├── ScheduleChanged.php
│   │   │   │   ├── HolidayAdded.php
│   │   │   │   ├── AttendanceAnomalyDetected.php
│   │   │   │   ├── LeaveBalanceAdjusted.php
│   │   │   │   └── AttendanceThresholdReached.php
│   │   │   ├── Listeners/
│   │   │   │   ├── SendClockInNotification.php
│   │   │   │   ├── SendClockOutNotification.php
│   │   │   │   ├── SendBreakReminder.php
│   │   │   │   ├── UpdateAttendanceSummary.php
│   │   │   │   ├── NotifyHRofLeaveRequest.php
│   │   │   │   ├── NotifyManagerOfLeave.php
│   │   │   │   ├── SendLeaveApprovalNotification.php
│   │   │   │   ├── SendLeaveRejectionNotification.php
│   │   │   │   ├── UpdateLeaveBalanceOnApproval.php
│   │   │   │   ├── CalculateLeaveAccrual.php
│   │   │   │   ├── ProcessOvertimeRequest.php
│   │   │   │   ├── SendLateArrivalAlert.php
│   │   │   │   ├── SendAbsentAlert.php
│   │   │   │   ├── TriggerPayrollUpdate.php
│   │   │   │   ├── SyncToPayroll.php
│   │   │   │   └── LogAttendanceActivity.php
│   │   │   ├── Jobs/
│   │   │   │   ├── ProcessDailyAttendance.php
│   │   │   │   ├── ProcessBiometricData.php
│   │   │   │   ├── GenerateDailySummary.php
│   │   │   │   ├── GenerateMonthlyReport.php
│   │   │   │   ├── SendAttendanceReminders.php
│   │   │   │   ├── SendShiftReminders.php
│   │   │   │   ├── ProcessPendingLeaves.php
│   │   │   │   ├── CalculateLeaveAccruals.php
│   │   │   │   ├── ReconcileAttendanceData.php
│   │   │   │   ├── SyncWithPayroll.php
│   │   │   │   ├── ExportAttendanceReport.php
│   │   │   │   ├── CleanupOldBiometricLogs.php
│   │   │   │   └── DetectAttendanceAnomalies.php
│   │   │   ├── Console/
│   │   │   │   └── Commands/
│   │   │   │       ├── ProcessAttendanceQueue.php
│   │   │   │       ├── GenerateAttendanceReports.php
│   │   │   │       ├── SendDailyAttendanceDigest.php
│   │   │   │       ├── SyncHolidayCalendar.php
│   │   │   │       └── ReconcileLeaveBalances.php
│   │   │   ├── Integrations/
│   │   │   │   ├── Biometric/
│   │   │   │   │   ├── ZKTecoAdapter.php
│   │   │   │   │   ├── SupremaAdapter.php
│   │   │   │   │   ├── DigitalPersonaAdapter.php
│   │   │   │   │   └── GenericDeviceAdapter.php
│   │   │   │   ├── Calendar/
│   │   │   │   │   ├── GoogleCalendarSync.php
│   │   │   │   │   ├── OutlookCalendarSync.php
│   │   │   │   │   └── ICalSync.php
│   │   │   │   └── HRIS/
│   │   │   │       ├── SAPSuccessFactors.php
│   │   │   │       └── OracleHRMS.php
│   │   │   ├── DTOs/
│   │   │   │   ├── ClockInDTO.php
│   │   │   │   ├── ClockOutDTO.php
│   │   │   │   ├── BreakDTO.php
│   │   │   │   ├── LeaveRequestDTO.php
│   │   │   │   ├── LeaveApprovalDTO.php
│   │   │   │   ├── OvertimeRequestDTO.php
│   │   │   │   ├── ExcusedAbsenceDTO.php
│   │   │   │   ├── ShiftAssignmentDTO.php
│   │   │   │   └── AttendanceReportDTO.php
│   │   │   ├── Exceptions/
│   │   │   │   ├── AlreadyClockedInException.php
│   │   │   │   ├── NotClockedInException.php
│   │   │   │   ├── InvalidClockInException.php
│   │   │   │   ├── ShiftNotAssignedException.php
│   │   │   │   ├── InsufficientLeaveBalanceException.php
│   │   │   │   ├── MaternityLeaveEligibilityException.php
│   │   │   │   ├── PaternityLeaveEligibilityException.php
│   │   │   │   ├── DuplicateAttendanceException.php
│   │   │   │   ├── GeolocationMismatchException.php
│   │   │   │   ├── BreakDurationExceededException.php
│   │   │   │   └── PolicyViolationException.php
│   │   │   ├── Enums/
│   │   │   │   ├── LeaveTypeEnum.php
│   │   │   │   ├── LeaveStatusEnum.php
│   │   │   │   ├── BreakTypeEnum.php
│   │   │   │   ├── AttendanceStatusEnum.php
│   │   │   │   ├── EmployeeRoleEnum.php
│   │   │   │   ├── ShiftTypeEnum.php
│   │   │   │   └── VerificationMethodEnum.php
│   │   │   ├── Rules/
│   │   │   │   ├── AttendanceRules.php
│   │   │   │   ├── LeaveRules.php
│   │   │   │   ├── OvertimeRules.php
│   │   │   │   └── BreakRules.php
│   │   │   ├── Dashboards/
│   │   │   │   ├── AttendanceDashboard.php
│   │   │   │   ├── LeaveDashboard.php
│   │   │   │   └── OvertimeDashboard.php
│   │   │   ├── Charts/
│   │   │   │   ├── AttendanceTrendChart.php
│   │   │   │   ├── LeaveUtilizationChart.php
│   │   │   │   ├── PeakHoursChart.php
│   │   │   │   └── AbsenteeismChart.php
│   │   │   ├── Exports/
│   │   │   │   ├── ExcelAttendanceExport.php
│   │   │   │   ├── PDFAttendanceExport.php
│   │   │   │   ├── CSVAttendanceExport.php
│   │   │   │   └── LeaveExport.php
│   │   │   ├── Imports/
│   │   │   │   ├── ScheduleImport.php
│   │   │   │   ├── LeaveImport.php
│   │   │   │   └── EmployeeImport.php
│   │   │   └── Routes/
│   │   │       ├── gatekeeper.php
│   │   │       ├── hr.php
│   │   │       ├── manager.php
│   │   │       ├── admin.php
│   │   │       └── api.php
│   │   │
│   │   ├── InventoryModule/
│   │   │   ├── Providers/
│   │   │   │   └── InventoryServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── Product.php
│   │   │   │   ├── ProductCategory.php
│   │   │   │   ├── ProductSubCategory.php
│   │   │   │   ├── ProductAttribute.php
│   │   │   │   ├── ProductVariant.php
│   │   │   │   ├── ProductImage.php
│   │   │   │   ├── ProductDocument.php
│   │   │   │   ├── ProductPrice.php
│   │   │   │   ├── ProductCost.php
│   │   │   │   ├── ProductSupplier.php
│   │   │   │   ├── Supplier.php
│   │   │   │   ├── SupplierContact.php
│   │   │   │   ├── SupplierRating.php
│   │   │   │   ├── Warehouse.php
│   │   │   │   ├── WarehouseZone.php
│   │   │   │   ├── WarehouseBin.php
│   │   │   │   ├── StockLevel.php
│   │   │   │   ├── StockMovement.php
│   │   │   │   ├── StockMovementType.php
│   │   │   │   ├── StockAdjustment.php
│   │   │   │   ├── StockAdjustmentReason.php
│   │   │   │   ├── StockTransfer.php
│   │   │   │   ├── StockTransferItem.php
│   │   │   │   ├── StockCount.php
│   │   │   │   ├── StockCountItem.php
│   │   │   │   ├── StockReservation.php
│   │   │   │   ├── ReorderPoint.php
│   │   │   │   ├── ReorderRule.php
│   │   │   │   ├── PurchaseOrder.php
│   │   │   │   ├── PurchaseOrderItem.php
│   │   │   │   ├── PurchaseOrderStatus.php
│   │   │   │   ├── PurchaseRequest.php
│   │   │   │   ├── PurchaseRequestItem.php
│   │   │   │   ├── GoodsReceipt.php
│   │   │   │   ├── GoodsReceiptItem.php
│   │   │   │   ├── GoodsIssue.php
│   │   │   │   ├── GoodsIssueItem.php
│   │   │   │   ├── ReturnToSupplier.php
│   │   │   │   ├── ReturnToSupplierItem.php
│   │   │   │   ├── ReturnFromCustomer.php
│   │   │   │   ├── ReturnFromCustomerItem.php
│   │   │   │   ├── Batch.php
│   │   │   │   ├── SerialNumber.php
│   │   │   │   ├── ExpiryTracking.php
│   │   │   │   ├── QualityCheck.php
│   │   │   │   ├── QualityCheckTemplate.php
│   │   │   │   ├── QualityCheckResult.php
│   │   │   │   ├── InventoryForecast.php
│   │   │   │   ├── ABCAnalysis.php
│   │   │   │   ├── InventoryValuation.php
│   │   │   │   ├── InventoryTurnover.php
│   │   │   │   └── InventoryReport.php
│   │   │   ├── Repositories/
│   │   │   │   ├── ProductRepository.php
│   │   │   │   ├── CategoryRepository.php
│   │   │   │   ├── SupplierRepository.php
│   │   │   │   ├── WarehouseRepository.php
│   │   │   │   ├── StockRepository.php
│   │   │   │   ├── StockMovementRepository.php
│   │   │   │   ├── PurchaseOrderRepository.php
│   │   │   │   ├── GoodsReceiptRepository.php
│   │   │   │   ├── BatchRepository.php
│   │   │   │   └── ReorderRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── ProductService.php
│   │   │   │   ├── CategoryService.php
│   │   │   │   ├── SupplierService.php
│   │   │   │   ├── StockService.php
│   │   │   │   ├── StockMovementService.php
│   │   │   │   ├── StockAdjustmentService.php
│   │   │   │   ├── StockTransferService.php
│   │   │   │   ├── StockCountService.php
│   │   │   │   ├── PurchaseService.php
│   │   │   │   ├── PurchaseOrderService.php
│   │   │   │   ├── GoodsReceiptService.php
│   │   │   │   ├── GoodsIssueService.php
│   │   │   │   ├── ReturnService.php
│   │   │   │   ├── ReorderService.php
│   │   │   │   ├── ReorderPointService.php
│   │   │   │   ├── BatchTrackingService.php
│   │   │   │   ├── SerialNumberService.php
│   │   │   │   ├── ExpiryAlertService.php
│   │   │   │   ├── QualityControlService.php
│   │   │   │   ├── InventoryValuationService.php
│   │   │   │   ├── InventoryForecastService.php
│   │   │   │   ├── ABCAnalysisService.php
│   │   │   │   ├── InventoryReportingService.php
│   │   │   │   ├── InventoryAnalyticsService.php
│   │   │   │   └── InventorySyncService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── StoreKeeper/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── ProductController.php
│   │   │   │   │   ├── ReceivingController.php
│   │   │   │   │   ├── IssueController.php
│   │   │   │   │   ├── TransferController.php
│   │   │   │   │   ├── StockCountController.php
│   │   │   │   │   ├── BatchController.php
│   │   │   │   │   ├── QualityCheckController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   ├── Manager/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── PurchaseApprovalController.php
│   │   │   │   │   ├── StockReportController.php
│   │   │   │   │   ├── SupplierController.php
│   │   │   │   │   ├── InventoryAnalysisController.php
│   │   │   │   │   ├── ReorderManagementController.php
│   │   │   │   │   └── ProcurementController.php
│   │   │   │   └── Admin/
│   │   │   │       ├── WarehouseController.php
│   │   │   │       ├── CategoryController.php
│   │   │   │       ├── ProductAttributeController.php
│   │   │   │       ├── SupplierManagementController.php
│   │   │   │       ├── StockSettingsController.php
│   │   │   │       └── InventorySettingsController.php
│   │   │   ├── Events/
│   │   │   │   ├── ProductCreated.php
│   │   │   │   ├── ProductUpdated.php
│   │   │   │   ├── StockReceived.php
│   │   │   │   ├── StockIssued.php
│   │   │   │   ├── StockTransferred.php
│   │   │   │   ├── StockAdjusted.php
│   │   │   │   ├── StockCountCompleted.php
│   │   │   │   ├── StockBelowReorderPoint.php
│   │   │   │   ├── StockOutOfStock.php
│   │   │   │   ├── ExpiryDateApproaching.php
│   │   │   │   ├── GoodsReceived.php
│   │   │   │   └── QualityCheckFailed.php
│   │   │   ├── Listeners/
│   │   │   │   ├── UpdateStockLevels.php
│   │   │   │   ├── TriggerReorder.php
│   │   │   │   ├── NotifyProcurement.php
│   │   │   │   ├── SendExpiryAlert.php
│   │   │   │   ├── UpdateInventoryValuation.php
│   │   │   │   ├── LogStockMovement.php
│   │   │   │   └── SyncWithFinancials.php
│   │   │   ├── Jobs/
│   │   │   │   ├── CheckReorderPoints.php
│   │   │   │   ├── ProcessExpiryAlerts.php
│   │   │   │   ├── CalculateInventoryValuation.php
│   │   │   │   ├── GenerateInventoryReport.php
│   │   │   │   ├── SyncStockLevels.php
│   │   │   │   └── CleanupOldMovements.php
│   │   │   ├── Console/
│   │   │   │   └── Commands/
│   │   │   │       ├── CheckReorderCommand.php
│   │   │   │       ├── ProcessExpiryCommand.php
│   │   │   │       └── GenerateInventoryReportCommand.php
│   │   │   ├── DTOs/
│   │   │   │   ├── ProductDTO.php
│   │   │   │   ├── StockMovementDTO.php
│   │   │   │   ├── TransferDTO.php
│   │   │   │   ├── ReceivingDTO.php
│   │   │   │   └── ReorderDTO.php
│   │   │   ├── Exceptions/
│   │   │   │   ├── InsufficientStockException.php
│   │   │   │   ├── ProductNotFoundException.php
│   │   │   │   ├── InvalidTransferException.php
│   │   │   │   ├── DuplicateBatchException.php
│   │   │   │   └── ExpiredProductException.php
│   │   │   ├── Enums/
│   │   │   │   ├── StockMovementTypeEnum.php
│   │   │   │   ├── ProductStatusEnum.php
│   │   │   │   └── QualityStatusEnum.php
│   │   │   └── Routes/
│   │   │       ├── storekeeper.php
│   │   │       ├── manager.php
│   │   │       ├── admin.php
│   │   │       └── api.php
│   │   │
│   │   ├── ETIMModule/                              # ETIM Integration
│   │   │   ├── Providers/
│   │   │   │   └── ETIMServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── ETIMClassification.php
│   │   │   │   ├── ETIMClassGroup.php
│   │   │   │   ├── ETIMFeature.php
│   │   │   │   ├── ETIMFeatureType.php
│   │   │   │   ├── ETIMFeatureValue.php
│   │   │   │   ├── ETIMUnit.php
│   │   │   │   ├── ETIMVersion.php
│   │   │   │   ├── ETIMSynonym.php
│   │   │   │   ├── ETIMTranslation.php
│   │   │   │   ├── ETIMMapping.php
│   │   │   │   ├── ProductETIMClassification.php
│   │   │   │   ├── ProductETIMFeatureValue.php
│   │   │   │   ├── SupplierETIMCompliance.php
│   │   │   │   ├── ETIMVerificationResult.php
│   │   │   │   ├── ETIMVerificationRule.php
│   │   │   │   ├── ETIMImportHistory.php
│   │   │   │   └── ETIMExportHistory.php
│   │   │   ├── Repositories/
│   │   │   │   ├── ETIMClassificationRepository.php
│   │   │   │   ├── ETIMFeatureRepository.php
│   │   │   │   ├── ETIMFeatureValueRepository.php
│   │   │   │   ├── ETIMUnitRepository.php
│   │   │   │   ├── ProductETIMRepository.php
│   │   │   │   └── ETIMMappingRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── ETIMImportService.php
│   │   │   │   │   ├── importFromIXF()
│   │   │   │   │   ├── importFromCSV()
│   │   │   │   │   ├── importFromBMEcat()
│   │   │   │   │   ├── validateETIMData()
│   │   │   │   │   ├── syncWithETIMServer()
│   │   │   │   │   └── checkForUpdates()
│   │   │   │   ├── ETIMClassificationService.php
│   │   │   │   │   ├── suggestClassification()
│   │   │   │   │   ├── validateClassification()
│   │   │   │   │   ├── getCompatibleClassifications()
│   │   │   │   │   ├── getFeaturesForClass()
│   │   │   │   │   └── searchByDescription()
│   │   │   │   ├── ETIMVerificationService.php
│   │   │   │   │   ├── verifyReceiptAgainstETIM()
│   │   │   │   │   ├── compareSpecifications()
│   │   │   │   │   ├── detectDiscrepancies()
│   │   │   │   │   ├── calculateMatchPercentage()
│   │   │   │   │   ├── generateVerificationReport()
│   │   │   │   │   ├── autoApproveIfMatches()
│   │   │   │   │   ├── batchVerification()
│   │   │   │   │   └── flagForReview()
│   │   │   │   ├── ETIMMappingService.php
│   │   │   │   │   ├── mapCategoryToETIM()
│   │   │   │   │   ├── mapProductToETIM()
│   │   │   │   │   ├── suggestMappings()
│   │   │   │   │   └── validateMapping()
│   │   │   │   ├── ETIMSyncService.php
│   │   │   │   │   ├── syncWithPurchaseOrder()
│   │   │   │   │   ├── syncWithReceiving()
│   │   │   │   │   ├── syncWithInventory()
│   │   │   │   │   └── syncWithSupplier()
│   │   │   │   ├── ETIMExportService.php
│   │   │   │   │   ├── generateSupplierTemplate()
│   │   │   │   │   ├── exportToBMEcat()
│   │   │   │   │   ├── exportToExcel()
│   │   │   │   │   ├── exportToJSON()
│   │   │   │   │   └── exportToXML()
│   │   │   │   ├── ETIMAnalyticsService.php
│   │   │   │   │   ├── getComplianceRate()
│   │   │   │   │   ├── getDiscrepancyReport()
│   │   │   │   │   ├── getSupplierCompliance()
│   │   │   │   │   ├── getTopDiscrepancies()
│   │   │   │   │   └── getVerificationStats()
│   │   │   │   ├── ETIMSearchService.php
│   │   │   │   │   ├── searchByKeyword()
│   │   │   │   │   ├── searchByFeatures()
│   │   │   │   │   └── autocomplete()
│   │   │   │   └── ETIMValidationService.php
│   │   │   │       ├── validateProductData()
│   │   │   │       ├── validateSupplierData()
│   │   │   │       └── validateFeatureValues()
│   │   │   ├── Controllers/
│   │   │   │   ├── Admin/
│   │   │   │   │   ├── ETIMImportController.php
│   │   │   │   │   ├── ETIMExportController.php
│   │   │   │   │   ├── ETIMClassificationController.php
│   │   │   │   │   ├── ETIMFeatureController.php
│   │   │   │   │   ├── ETIMMappingController.php
│   │   │   │   │   ├── ETIMVersionController.php
│   │   │   │   │   ├── ETIMSettingsController.php
│   │   │   │   │   └── ETIMSyncController.php
│   │   │   │   ├── Procurement/
│   │   │   │   │   ├── ETIMVerificationController.php
│   │   │   │   │   │   ├── showVerificationScreen()
│   │   │   │   │   │   ├── verifyReceipt()
│   │   │   │   │   │   ├── verifyBatch()
│   │   │   │   │   │   ├── downloadReport()
│   │   │   │   │   │   ├── approveVerification()
│   │   │   │   │   │   └── rejectVerification()
│   │   │   │   │   ├── ETIMLookupController.php
│   │   │   │   │   │   ├── lookupByDescription()
│   │   │   │   │   │   ├── lookupBySKU()
│   │   │   │   │   │   └── lookupBySupplier()
│   │   │   │   │   └── ETIMMappingAssistantController.php
│   │   │   │   ├── Manager/
│   │   │   │   │   ├── ETIMComplianceController.php
│   │   │   │   │   ├── ETIMReportsController.php
│   │   │   │   │   └── SupplierComplianceController.php
│   │   │   │   └── Api/
│   │   │   │       └── V1/
│   │   │   │           ├── ETIMClassificationApiController.php
│   │   │   │           ├── ETIMFeatureApiController.php
│   │   │   │           ├── ETIMVerificationApiController.php
│   │   │   │           └── ETIMSearchApiController.php
│   │   │   ├── Events/
│   │   │   │   ├── ETIMDataImported.php
│   │   │   │   ├── ETIMDataUpdated.php
│   │   │   │   ├── ETIMVerificationPassed.php
│   │   │   │   ├── ETIMVerificationFailed.php
│   │   │   │   ├── ETIMDiscrepancyDetected.php
│   │   │   │   ├── ETIMMappingCreated.php
│   │   │   │   ├── ETIMClassificationSuggested.php
│   │   │   │   └── SupplierComplianceUpdated.php
│   │   │   ├── Listeners/
│   │   │   │   ├── NotifyProcurementOfFailure.php
│   │   │   │   ├── FlagReceiptForReview.php
│   │   │   │   ├── UpdateComplianceMetrics.php
│   │   │   │   ├── LogVerificationResult.php
│   │   │   │   └── NotifySupplierOfDiscrepancy.php
│   │   │   ├── Jobs/
│   │   │   │   ├── ImportETIMData.php
│   │   │   │   ├── UpdateETIMVersions.php
│   │   │   │   ├── VerifyPendingReceipts.php
│   │   │   │   ├── GenerateSupplierETIMReports.php
│   │   │   │   ├── CalculateSupplierCompliance.php
│   │   │   │   ├── SyncETIMWithProducts.php
│   │   │   │   └── CleanupOldVerifications.php
│   │   │   ├── Console/
│   │   │   │   └── Commands/
│   │   │   │       ├── EtimImportCommand.php
│   │   │   │       ├── EtimSyncCommand.php
│   │   │   │       ├── EtimVerifyCommand.php
│   │   │   │       ├── EtimCheckUpdatesCommand.php
│   │   │   │       └── EtimGenerateReportCommand.php
│   │   │   ├── DTOs/
│   │   │   │   ├── ETIMClassificationDTO.php
│   │   │   │   ├── ETIMFeatureDTO.php
│   │   │   │   ├── ETIMFeatureValueDTO.php
│   │   │   │   ├── VerificationRequestDTO.php
│   │   │   │   ├── VerificationResultDTO.php
│   │   │   │   └── SupplierComplianceDTO.php
│   │   │   ├── Exceptions/
│   │   │   │   ├── ETIMDataNotFoundException.php
│   │   │   │   ├── ETIMImportException.php
│   │   │   │   ├── ETIMVerificationException.php
│   │   │   │   ├── ETIMClassificationNotFoundException.php
│   │   │   │   └── ETIMFeatureMismatchException.php
│   │   │   ├── Enums/
│   │   │   │   ├── ETIMFeatureTypeEnum.php
│   │   │   │   ├── ETIMVersionEnum.php
│   │   │   │   ├── VerificationStatusEnum.php
│   │   │   │   └── MatchLevelEnum.php
│   │   │   ├── Rules/
│   │   │   │   ├── ETIMClassificationRule.php
│   │   │   │   ├── ETIMFeatureRule.php
│   │   │   │   └── ETIMVerificationRule.php
│   │   │   ├── Integrations/
│   │   │   │   ├── ETIMAPI/
│   │   │   │   │   ├── ETIMAPIClient.php
│   │   │   │   │   ├── ETIMAPIAuth.php
│   │   │   │   │   └── ETIMAPIEndpoints.php
│   │   │   │   └── BMEcat/
│   │   │   │       ├── BMEcatGenerator.php
│   │   │   │       └── BMEcatParser.php
│   │   │   ├── Exports/
│   │   │   │   ├── ETIMExcelExport.php
│   │   │   │   ├── ETIMPDFExport.php
│   │   │   │   ├── ETIMXMLExport.php
│   │   │   │   └── ETIMJSONExport.php
│   │   │   ├── Imports/
│   │   │   │   ├── ETIMIXFImport.php
│   │   │   │   ├── ETIMCSVImport.php
│   │   │   │   └── ETIMBMEcatImport.php
│   │   │   ├── Charts/
│   │   │   │   ├── ComplianceTrendChart.php
│   │   │   │   ├── DiscrepancyTypeChart.php
│   │   │   │   └── SupplierComplianceChart.php
│   │   │   └── Routes/
│   │   │       ├── admin.php
│   │   │       ├── procurement.php
│   │   │       ├── manager.php
│   │   │       └── api.php
│   │   │
│   │   ├── ComputerLabModule/
│   │   │   ├── Providers/
│   │   │   │   └── ComputerLabServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── Computer.php
│   │   │   │   ├── ComputerSpecs.php
│   │   │   │   ├── ComputerComponent.php
│   │   │   │   ├── ComputerPeripheral.php
│   │   │   │   ├── Software.php
│   │   │   │   ├── SoftwareLicense.php
│   │   │   │   ├── SoftwareVersion.php
│   │   │   │   ├── SoftwareCategory.php
│   │   │   │   ├── Lab.php
│   │   │   │   ├── LabSession.php
│   │   │   │   ├── LabBooking.php
│   │   │   │   ├── LabBookingRecurrence.php
│   │   │   │   ├── LabAttendance.php
│   │   │   │   ├── MaintenanceLog.php
│   │   │   │   ├── MaintenanceSchedule.php
│   │   │   │   ├── IssueReport.php
│   │   │   │   ├── IssueResolution.php
│   │   │   │   ├── NetworkDevice.php
│   │   │   │   ├── NetworkPort.php
│   │   │   │   ├── Printer.php
│   │   │   │   ├── PrinterConsumable.php
│   │   │   │   ├── ComputerLab.php
│   │   │   │   └── LabPolicy.php
│   │   │   ├── Repositories/
│   │   │   │   ├── ComputerRepository.php
│   │   │   │   ├── SoftwareRepository.php
│   │   │   │   ├── LicenseRepository.php
│   │   │   │   ├── LabRepository.php
│   │   │   │   ├── BookingRepository.php
│   │   │   │   └── MaintenanceRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── ComputerService.php
│   │   │   │   ├── SoftwareService.php
│   │   │   │   ├── LicenseTrackingService.php
│   │   │   │   ├── LabBookingService.php
│   │   │   │   ├── LabSchedulingService.php
│   │   │   │   ├── LabAttendanceService.php
│   │   │   │   ├── MaintenanceService.php
│   │   │   │   ├── IssueTrackingService.php
│   │   │   │   ├── NetworkService.php
│   │   │   │   ├── PrinterService.php
│   │   │   │   ├── InventorySyncService.php
│   │   │   │   ├── UtilizationAnalyticsService.php
│   │   │   │   └── ReportingService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── LabTechnician/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── ComputerController.php
│   │   │   │   │   ├── SoftwareController.php
│   │   │   │   │   ├── LicenseController.php
│   │   │   │   │   ├── BookingController.php
│   │   │   │   │   ├── MaintenanceController.php
│   │   │   │   │   ├── IssueController.php
│   │   │   │   │   ├── NetworkController.php
│   │   │   │   │   ├── PrinterController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   ├── Manager/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── UtilizationController.php
│   │   │   │   │   ├── BookingAnalyticsController.php
│   │   │   │   │   ├── LicenseComplianceController.php
│   │   │   │   │   ├── ProcurementController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   └── Admin/
│   │   │   │       ├── LabController.php
│   │   │   │       ├── SoftwareCategoryController.php
│   │   │   │       ├── PolicyController.php
│   │   │   │       └── LabSettingsController.php
│   │   │   ├── Events/
│   │   │   │   ├── ComputerAdded.php
│   │   │   │   ├── ComputerRemoved.php
│   │   │   │   ├── SoftwareInstalled.php
│   │   │   │   ├── LicenseExpiring.php
│   │   │   │   ├── LabBooked.php
│   │   │   │   ├── LabSessionStarted.php
│   │   │   │   ├── LabSessionEnded.php
│   │   │   │   ├── MaintenanceDue.php
│   │   │   │   ├── IssueReported.php
│   │   │   │   └── IssueResolved.php
│   │   │   ├── Listeners/
│   │   │   │   ├── SendBookingConfirmation.php
│   │   │   │   ├── NotifyTechnicianOfIssue.php
│   │   │   │   ├── ScheduleMaintenance.php
│   │   │   │   ├── UpdateUtilizationStats.php
│   │   │   │   └── SendLicenseExpiryAlert.php
│   │   │   ├── Jobs/
│   │   │   │   ├── CheckLicenseExpiry.php
│   │   │   │   ├── ScheduleMaintenanceJobs.php
│   │   │   │   ├── GenerateUtilizationReport.php
│   │   │   │   └── SyncWithInventory.php
│   │   │   └── Routes/
│   │   │       ├── technician.php
│   │   │       ├── manager.php
│   │   │       ├── admin.php
│   │   │       └── api.php
│   │   │
│   │   ├── ScienceLabModule/
│   │   │   ├── Providers/
│   │   │   │   └── ScienceLabServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── Chemical.php
│   │   │   │   ├── ChemicalCategory.php
│   │   │   │   ├── ChemicalBatch.php
│   │   │   │   ├── ChemicalStorage.php
│   │   │   │   ├── ChemicalStorageCondition.php
│   │   │   │   ├── ChemicalSafetyData.php
│   │   │   │   ├── ChemicalHazard.php
│   │   │   │   ├── ChemicalCompatibility.php
│   │   │   │   ├── ChemicalDisposal.php
│   │   │   │   ├── Equipment.php
│   │   │   │   ├── EquipmentCategory.php
│   │   │   │   ├── EquipmentCalibration.php
│   │   │   │   ├── EquipmentMaintenance.php
│   │   │   │   ├── EquipmentUsage.php
│   │   │   │   ├── Glassware.php
│   │   │   │   ├── GlasswareType.php
│   │   │   │   ├── GlasswareSet.php
│   │   │   │   ├── Consumable.php
│   │   │   │   ├── ConsumableType.php
│   │   │   │   ├── Experiment.php
│   │   │   │   ├── ExperimentProtocol.php
│   │   │   │   ├── ExperimentChemical.php
│   │   │   │   ├── ExperimentEquipment.php
│   │   │   │   ├── ExperimentResult.php
│   │   │   │   ├── SafetyDataSheet.php
│   │   │   │   ├── MSDS.php
│   │   │   │   ├── RiskAssessment.php
│   │   │   │   ├── WasteDisposal.php
│   │   │   │   ├── WasteDisposalLog.php
│   │   │   │   ├── LabRequest.php
│   │   │   │   ├── LabRequestItem.php
│   │   │   │   ├── ScienceLab.php
│   │   │   │   ├── LabIncident.php
│   │   │   │   ├── LabIncidentReport.php
│   │   │   │   └── LabSafetyPolicy.php
│   │   │   ├── Repositories/
│   │   │   │   ├── ChemicalRepository.php
│   │   │   │   ├── ChemicalBatchRepository.php
│   │   │   │   ├── EquipmentRepository.php
│   │   │   │   ├── GlasswareRepository.php
│   │   │   │   ├── ConsumableRepository.php
│   │   │   │   ├── ExperimentRepository.php
│   │   │   │   ├── SafetyRepository.php
│   │   │   │   └── WasteRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── ChemicalInventoryService.php
│   │   │   │   ├── ChemicalBatchTrackingService.php
│   │   │   │   ├── ChemicalStorageService.php
│   │   │   │   ├── ChemicalCompatibilityService.php
│   │   │   │   ├── EquipmentService.php
│   │   │   │   ├── EquipmentCalibrationService.php
│   │   │   │   ├── EquipmentMaintenanceService.php
│   │   │   │   ├── GlasswareManagementService.php
│   │   │   │   ├── ConsumableService.php
│   │   │   │   ├── ExperimentService.php
│   │   │   │   ├── SafetyComplianceService.php
│   │   │   │   ├── MSDSService.php
│   │   │   │   ├── RiskAssessmentService.php
│   │   │   │   ├── WasteManagementService.php
│   │   │   │   ├── LabRequestService.php
│   │   │   │   ├── IncidentReportingService.php
│   │   │   │   ├── InventorySyncService.php
│   │   │   │   ├── ExpiryTrackingService.php
│   │   │   │   ├── ReportingService.php
│   │   │   │   └── AnalyticsService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── LabAssistant/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── ChemicalController.php
│   │   │   │   │   ├── ChemicalBatchController.php
│   │   │   │   │   ├── EquipmentController.php
│   │   │   │   │   ├── GlasswareController.php
│   │   │   │   │   ├── ConsumableController.php
│   │   │   │   │   ├── ExperimentController.php
│   │   │   │   │   ├── RequestController.php
│   │   │   │   │   ├── SafetyController.php
│   │   │   │   │   ├── WasteController.php
│   │   │   │   │   ├── IncidentController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   ├── Manager/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── ChemicalApprovalController.php
│   │   │   │   │   ├── ComplianceController.php
│   │   │   │   │   ├── SafetyAuditController.php
│   │   │   │   │   ├── ProcurementController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   └── Admin/
│   │   │   │       ├── LabController.php
│   │   │   │       ├── ChemicalCategoryController.php
│   │   │   │       ├── HazardClassController.php
│   │   │   │       ├── SafetyPolicyController.php
│   │   │   │       └── LabSettingsController.php
│   │   │   ├── Events/
│   │   │   │   ├── ChemicalReceived.php
│   │   │   │   ├── ChemicalExpiring.php
│   │   │   │   ├── ChemicalDisposed.php
│   │   │   │   ├── EquipmentCalibrated.php
│   │   │   │   ├── EquipmentMaintained.php
│   │   │   │   ├── ExperimentStarted.php
│   │   │   │   ├── ExperimentCompleted.php
│   │   │   │   ├── SafetyIncident.php
│   │   │   │   ├── WasteDisposalCompleted.php
│   │   │   │   └── LabRequestApproved.php
│   │   │   ├── Listeners/
│   │   │   │   ├── SendExpiryAlert.php
│   │   │   │   ├── NotifySafetyOfficer.php
│   │   │   │   ├── UpdateChemicalInventory.php
│   │   │   │   ├── ScheduleCalibration.php
│   │   │   │   └── LogChemicalUsage.php
│   │   │   ├── Jobs/
│   │   │   │   ├── CheckChemicalExpiry.php
│   │   │   │   ├── ScheduleEquipmentCalibration.php
│   │   │   │   ├── GenerateSafetyReport.php
│   │   │   │   ├── ProcessLabRequests.php
│   │   │   │   └── SyncWithInventory.php
│   │   │   └── Routes/
│   │   │       ├── assistant.php
│   │   │       ├── manager.php
│   │   │       ├── admin.php
│   │   │       └── api.php
│   │   │
│   │   ├── LibraryModule/
│   │   │   ├── Providers/
│   │   │   │   └── LibraryServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── Book.php
│   │   │   │   ├── BookCategory.php
│   │   │   │   ├── BookSubCategory.php
│   │   │   │   ├── BookCopy.php
│   │   │   │   ├── BookStatus.php
│   │   │   │   ├── Author.php
│   │   │   │   ├── Publisher.php
│   │   │   │   ├── ISBN.php
│   │   │   │   ├── DeweyDecimal.php
│   │   │   │   ├── Member.php
│   │   │   │   ├── MemberType.php
│   │   │   │   ├── MemberCard.php
│   │   │   │   ├── Membership.php
│   │   │   │   ├── MembershipFee.php
│   │   │   │   ├── BorrowTransaction.php
│   │   │   │   ├── BorrowItem.php
│   │   │   │   ├── ReturnTransaction.php
│   │   │   │   ├── ReturnItem.php
│   │   │   │   ├── Fine.php
│   │   │   │   ├── FineType.php
│   │   │   │   ├── FinePayment.php
│   │   │   │   ├── Reservation.php
│   │   │   │   ├── ReservationQueue.php
│   │   │   │   ├── Shelf.php
│   │   │   │   ├── Rack.php
│   │   │   │   ├── Section.php
│   │   │   │   ├── Floor.php
│   │   │   │   ├── Acquisition.php
│   │   │   │   ├── AcquisitionItem.php
│   │   │   │   ├── AcquisitionRequest.php
│   │   │   │   ├── Vendor.php
│   │   │   │   ├── VendorContact.php
│   │   │   │   ├── VendorRating.php
│   │   │   │   ├── CirculationDesk.php
│   │   │   │   ├── CirculationLog.php
│   │   │   │   ├── OpeningHour.php
│   │   │   │   ├── HolidayClosing.php
│   │   │   │   ├── LibraryEvent.php
│   │   │   │   ├── EventRegistration.php
│   │   │   │   ├── LibraryCard.php
│   │   │   │   ├── LibrarySetting.php
│   │   │   │   ├── ReportTemplate.php
│   │   │   │   └── SavedSearch.php
│   │   │   ├── Repositories/
│   │   │   │   ├── BookRepository.php
│   │   │   │   ├── BookCopyRepository.php
│   │   │   │   ├── AuthorRepository.php
│   │   │   │   ├── PublisherRepository.php
│   │   │   │   ├── MemberRepository.php
│   │   │   │   ├── BorrowRepository.php
│   │   │   │   ├── FineRepository.php
│   │   │   │   ├── ReservationRepository.php
│   │   │   │   ├── AcquisitionRepository.php
│   │   │   │   └── VendorRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── CatalogingService.php
│   │   │   │   ├── ClassificationService.php
│   │   │   │   ├── MemberService.php
│   │   │   │   ├── BorrowingService.php
│   │   │   │   ├── ReturnService.php
│   │   │   │   ├── RenewalService.php
│   │   │   │   ├── ReservationService.php
│   │   │   │   ├── FineCalculationService.php
│   │   │   │   ├── FineCollectionService.php
│   │   │   │   ├── AcquisitionService.php
│   │   │   │   ├── VendorManagementService.php
│   │   │   │   ├── CirculationService.php
│   │   │   │   ├── InventorySyncService.php
│   │   │   │   ├── ReportingService.php
│   │   │   │   ├── AnalyticsService.php
│   │   │   │   ├── SearchService.php
│   │   │   │   ├── RecommendationService.php
│   │   │   │   ├── NotificationService.php
│   │   │   │   └── CalendarService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── Librarian/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── BookController.php
│   │   │   │   │   ├── CatalogController.php
│   │   │   │   │   ├── MemberController.php
│   │   │   │   │   ├── BorrowController.php
│   │   │   │   │   ├── ReturnController.php
│   │   │   │   │   ├── FineController.php
│   │   │   │   │   ├── ReservationController.php
│   │   │   │   │   ├── CirculationController.php
│   │   │   │   │   ├── ShelfController.php
│   │   │   │   │   ├── EventController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   ├── Manager/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── AcquisitionController.php
│   │   │   │   │   ├── VendorController.php
│   │   │   │   │   ├── BudgetController.php
│   │   │   │   │   ├── PolicyController.php
│   │   │   │   │   ├── AnalyticsController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   └── Admin/
│   │   │   │       ├── LibraryController.php
│   │   │   │       ├── CategoryController.php
│   │   │   │       ├── MemberTypeController.php
│   │   │   │       ├── FineTypeController.php
│   │   │   │       ├── OpeningHourController.php
│   │   │   │       └── SettingsController.php
│   │   │   ├── Events/
│   │   │   │   ├── BookAdded.php
│   │   │   │   ├── BookUpdated.php
│   │   │   │   ├── BookBorrowed.php
│   │   │   │   ├── BookReturned.php
│   │   │   │   ├── BookReserved.php
│   │   │   │   ├── BookOverdue.php
│   │   │   │   ├── MemberRegistered.php
│   │   │   │   ├── MembershipExpiring.php
│   │   │   │   ├── FineIncurred.php
│   │   │   │   ├── FinePaid.php
│   │   │   │   └── AcquisitionReceived.php
│   │   │   ├── Listeners/
│   │   │   │   ├── SendBorrowReceipt.php
│   │   │   │   ├── SendReturnReceipt.php
│   │   │   │   ├── SendOverdueNotice.php
│   │   │   │   ├── SendReservationAvailable.php
│   │   │   │   ├── SendMembershipReminder.php
│   │   │   │   ├── UpdateCatalog.php
│   │   │   │   ├── UpdateFineBalance.php
│   │   │   │   └── NotifyAcquisition.php
│   │   │   ├── Jobs/
│   │   │   │   ├── CheckOverdueBooks.php
│   │   │   │   ├── SendOverdueReminders.php
│   │   │   │   ├── ProcessReservationQueue.php
│   │   │   │   ├── GenerateCirculationReport.php
│   │   │   │   ├── CalculateFines.php
│   │   │   │   ├── SyncWithInventory.php
│   │   │   │   └── CleanupOldTransactions.php
│   │   │   └── Routes/
│   │   │       ├── librarian.php
│   │   │       ├── manager.php
│   │   │       ├── admin.php
│   │   │       └── api.php
│   │   │
│   │   ├── ProcurementModule/
│   │   │   ├── Providers/
│   │   │   │   └── ProcurementServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── Supplier.php
│   │   │   │   ├── SupplierCategory.php
│   │   │   │   ├── SupplierContact.php
│   │   │   │   ├── SupplierRating.php
│   │   │   │   ├── SupplierDocument.php
│   │   │   │   ├── PurchaseRequest.php
│   │   │   │   ├── PurchaseRequestItem.php
│   │   │   │   ├── PurchaseRequestApproval.php
│   │   │   │   ├── Quotation.php
│   │   │   │   ├── QuotationItem.php
│   │   │   │   ├── QuotationComparison.php
│   │   │   │   ├── PurchaseOrder.php
│   │   │   │   ├── PurchaseOrderItem.php
│   │   │   │   ├── PurchaseOrderApproval.php
│   │   │   │   ├── PurchaseOrderStatus.php
│   │   │   │   ├── GoodsReceipt.php
│   │   │   │   ├── GoodsReceiptItem.php
│   │   │   │   ├── GoodsReceiptNote.php
│   │   │   │   ├── Invoice.php
│   │   │   │   ├── InvoiceItem.php
│   │   │   │   ├── Payment.php
│   │   │   │   ├── PaymentTerm.php
│   │   │   │   ├── Contract.php
│   │   │   │   ├── ContractItem.php
│   │   │   │   ├── Tender.php
│   │   │   │   ├── TenderBid.php
│   │   │   │   ├── TenderEvaluation.php
│   │   │   │   ├── ProcurementCategory.php
│   │   │   │   ├── ProcurementBudget.php
│   │   │   │   └── ProcurementReport.php
│   │   │   ├── Repositories/
│   │   │   │   ├── SupplierRepository.php
│   │   │   │   ├── PurchaseRequestRepository.php
│   │   │   │   ├── QuotationRepository.php
│   │   │   │   ├── PurchaseOrderRepository.php
│   │   │   │   ├── GoodsReceiptRepository.php
│   │   │   │   ├── InvoiceRepository.php
│   │   │   │   ├── ContractRepository.php
│   │   │   │   └── TenderRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── SupplierManagementService.php
│   │   │   │   ├── SupplierEvaluationService.php
│   │   │   │   ├── PurchaseRequestService.php
│   │   │   │   ├── QuotationService.php
│   │   │   │   ├── QuotationComparisonService.php
│   │   │   │   ├── PurchaseOrderService.php
│   │   │   │   ├── PurchaseOrderApprovalService.php
│   │   │   │   ├── GoodsReceiptService.php
│   │   │   │   ├── InvoiceProcessingService.php
│   │   │   │   ├── PaymentService.php
│   │   │   │   ├── ContractManagementService.php
│   │   │   │   ├── TenderManagementService.php
│   │   │   │   ├── TenderEvaluationService.php
│   │   │   │   ├── ProcurementPlanningService.php
│   │   │   │   ├── BudgetControlService.php
│   │   │   │   ├── ReportingService.php
│   │   │   │   └── AnalyticsService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── Requisitioner/
│   │   │   │   │   ├── RequestController.php
│   │   │   │   │   ├── StatusController.php
│   │   │   │   │   └── HistoryController.php
│   │   │   │   ├── ProcurementOfficer/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── SupplierController.php
│   │   │   │   │   ├── PurchaseRequestController.php
│   │   │   │   │   ├── QuotationController.php
│   │   │   │   │   ├── PurchaseOrderController.php
│   │   │   │   │   ├── GoodsReceiptController.php
│   │   │   │   │   ├── InvoiceController.php
│   │   │   │   │   ├── ContractController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   ├── Manager/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── ApprovalController.php
│   │   │   │   │   ├── TenderController.php
│   │   │   │   │   ├── BudgetController.php
│   │   │   │   │   ├── SupplierEvaluationController.php
│   │   │   │   │   ├── AnalyticsController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   └── Admin/
│   │   │   │       ├── SupplierCategoryController.php
│   │   │   │       ├── ProcurementCategoryController.php
│   │   │   │       ├── PaymentTermController.php
│   │   │   │       ├── ApprovalWorkflowController.php
│   │   │   │       └── SettingsController.php
│   │   │   ├── Events/
│   │   │   │   ├── PurchaseRequestCreated.php
│   │   │   │   ├── PurchaseRequestApproved.php
│   │   │   │   ├── PurchaseRequestRejected.php
│   │   │   │   ├── QuotationReceived.php
│   │   │   │   ├── PurchaseOrderCreated.php
│   │   │   │   ├── PurchaseOrderApproved.php
│   │   │   │   ├── PurchaseOrderIssued.php
│   │   │   │   ├── GoodsReceived.php
│   │   │   │   ├── InvoiceReceived.php
│   │   │   │   ├── PaymentMade.php
│   │   │   │   ├── ContractSigned.php
│   │   │   │   └── TenderAwarded.php
│   │   │   ├── Listeners/
│   │   │   │   ├── NotifyRequisitioner.php
│   │   │   │   ├── NotifyApprover.php
│   │   │   │   ├── UpdateProcurementStatus.php
│   │   │   │   ├── SendPurchaseOrderToSupplier.php
│   │   │   │   ├── UpdateInventoryOnReceipt.php
│   │   │   │   ├── UpdateBudgetOnCommitment.php
│   │   │   │   ├── LogProcurementActivity.php
│   │   │   │   └── SyncWithFinancials.php
│   │   │   ├── Jobs/
│   │   │   │   ├── ProcessPurchaseRequests.php
│   │   │   │   ├── SendQuotationReminders.php
│   │   │   │   ├── CheckPurchaseOrderDelivery.php
│   │   │   │   ├── ProcessInvoicesForPayment.php
│   │   │   │   ├── GenerateProcurementReport.php
│   │   │   │   └── SyncWithInventory.php
│   │   │   └── Routes/
│   │   │       ├── requisitioner.php
│   │   │       ├── officer.php
│   │   │       ├── manager.php
│   │   │       ├── admin.php
│   │   │       └── api.php
│   │   │
│   │   ├── FinanceModule/
│   │   │   ├── Providers/
│   │   │   │   └── FinanceServiceProvider.php
│   │   │   ├── Models/
│   │   │   │   ├── Account.php
│   │   │   │   ├── AccountType.php
│   │   │   │   ├── AccountGroup.php
│   │   │   │   ├── ChartOfAccounts.php
│   │   │   │   ├── JournalEntry.php
│   │   │   │   ├── JournalLine.php
│   │   │   │   ├── Transaction.php
│   │   │   │   ├── TransactionType.php
│   │   │   │   ├── Budget.php
│   │   │   │   ├── BudgetLine.php
│   │   │   │   ├── BudgetVersion.php
│   │   │   │   ├── BudgetAdjustment.php
│   │   │   │   ├── ActualExpense.php
│   │   │   │   ├── ActualRevenue.php
│   │   │   │   ├── CostCenter.php
│   │   │   │   ├── ProfitCenter.php
│   │   │   │   ├── DepartmentBudget.php
│   │   │   │   ├── ProjectBudget.php
│   │   │   │   ├── FinancialPeriod.php
│   │   │   │   ├── FiscalYear.php
│   │   │   │   ├── Currency.php
│   │   │   │   ├── ExchangeRate.php
│   │   │   │   ├── Tax.php
│   │   │   │   ├── TaxRate.php
│   │   │   │   ├── TaxGroup.php
│   │   │   │   ├── Payment.php
│   │   │   │   ├── PaymentMethod.php
│   │   │   │   ├── Receipt.php
│   │   │   │   ├── BankAccount.php
│   │   │   │   ├── BankTransaction.php
│   │   │   │   ├── BankReconciliation.php
│   │   │   │   ├── Asset.php
│   │   │   │   ├── AssetDepreciation.php
│   │   │   │   ├── Liability.php
│   │   │   │   ├── Equity.php
│   │   │   │   ├── FinancialReport.php
│   │   │   │   ├── BalanceSheet.php
│   │   │   │   ├── IncomeStatement.php
│   │   │   │   ├── CashFlowStatement.php
│   │   │   │   └── TrialBalance.php
│   │   │   ├── Repositories/
│   │   │   │   ├── AccountRepository.php
│   │   │   │   ├── JournalRepository.php
│   │   │   │   ├── TransactionRepository.php
│   │   │   │   ├── BudgetRepository.php
│   │   │   │   ├── CostCenterRepository.php
│   │   │   │   ├── CurrencyRepository.php
│   │   │   │   ├── TaxRepository.php
│   │   │   │   └── FinancialReportRepository.php
│   │   │   ├── Services/
│   │   │   │   ├── AccountingService.php
│   │   │   │   ├── JournalService.php
│   │   │   │   ├── LedgerService.php
│   │   │   │   ├── BudgetService.php
│   │   │   │   ├── BudgetControlService.php
│   │   │   │   ├── CostCenterService.php
│   │   │   │   ├── CurrencyService.php
│   │   │   │   ├── TaxService.php
│   │   │   │   ├── PaymentService.php
│   │   │   │   ├── ReceiptService.php
│   │   │   │   ├── BankService.php
│   │   │   │   ├── ReconciliationService.php
│   │   │   │   ├── AssetAccountingService.php
│   │   │   │   ├── DepreciationService.php
│   │   │   │   ├── FinancialReportingService.php
│   │   │   │   ├── FinancialAnalysisService.php
│   │   │   │   ├── ForecastingService.php
│   │   │   │   └── AuditService.php
│   │   │   ├── Controllers/
│   │   │   │   ├── Accountant/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── JournalController.php
│   │   │   │   │   ├── LedgerController.php
│   │   │   │   │   ├── TransactionController.php
│   │   │   │   │   ├── BudgetController.php
│   │   │   │   │   ├── CostCenterController.php
│   │   │   │   │   ├── PaymentController.php
│   │   │   │   │   ├── ReceiptController.php
│   │   │   │   │   ├── BankController.php
│   │   │   │   │   ├── TaxController.php
│   │   │   │   │   ├── AssetController.php
│   │   │   │   │   └── ReportsController.php
│   │   │   │   ├── FinanceManager/
│   │   │   │   │   ├── DashboardController.php
│   │   │   │   │   ├── BudgetApprovalController.php
│   │   │   │   │   ├── FinancialReportsController.php
│   │   │   │   │   ├── FinancialAnalysisController.php
│   │   │   │   │   ├── ForecastingController.php
│   │   │   │   │   └── AuditController.php
│   │   │   │   └── Admin/
│   │   │   │       ├── AccountController.php
│   │   │   │       ├── ChartOfAccountsController.php
│   │   │   │       ├── CurrencyController.php
│   │   │   │       ├── TaxRateController.php
│   │   │   │       ├── FiscalYearController.php
│   │   │   │       └── SettingsController.php
│   │   │   ├── Events/
│   │   │   │   ├── JournalEntryPosted.php
│   │   │   │   ├── TransactionRecorded.php
│   │   │   │   ├── BudgetCreated.php
│   │   │   │   ├── BudgetAdjusted.php
│   │   │   │   ├── PaymentMade.php
│   │   │   │   ├── ReceiptRecorded.php
│   │   │   │   ├── BankReconciled.php
│   │   │   │   ├── AssetAcquired.php
│   │   │   │   ├── AssetDepreciated.php
│   │   │   │   └── FinancialReportGenerated.php
│   │   │   ├── Listeners/
│   │   │   │   ├── UpdateGeneralLedger.php
│   │   │   │   ├── UpdateBudgetActuals.php
│   │   │   │   ├── CheckBudgetVariance.php
│   │   │   │   ├── NotifyBudgetOverspend.php
│   │   │   │   ├── UpdateAssetValue.php
│   │   │   │   ├── LogFinancialTransaction.php
│   │   │   │   └── SyncWithProcurement.php
│   │   │   ├── Jobs/
│   │   │   │   ├── CalculateDepreciation.php
│   │   │   │   ├── ReconcileBankAccounts.php
│   │   │   │   ├── GenerateFinancialReports.php
│   │   │   │   ├── ProcessRecurringTransactions.php
│   │   │   │   ├── UpdateExchangeRates.php
│   │   │   │   └── CloseFinancialPeriod.php
│   │   │   └── Routes/
│   │   │       ├── accountant.php
│   │   │       ├── manager.php
│   │   │       ├── admin.php
│   │   │       └── api.php
│   │   │
│   │   └── ReportingModule/
│   │       ├── Providers/
│   │       │   └── ReportingServiceProvider.php
│   │       ├── Models/
│   │       │   ├── Report.php
│   │       │   ├── ReportCategory.php
│   │       │   ├── ReportTemplate.php
│   │       │   ├── ReportSchedule.php
│   │       │   ├── ReportHistory.php
│   │       │   ├── Dashboard.php
│   │       │   ├── DashboardWidget.php
│   │       │   ├── WidgetType.php
│   │       │   ├── Chart.php
│   │       │   ├── ChartType.php
│   │       │   ├── DataSource.php
│   │       │   ├── DataSourceQuery.php
│   │       │   ├── ExportFormat.php
│   │       │   └── SavedFilter.php
│   │       ├── Repositories/
│   │       │   ├── ReportRepository.php
│   │       │   ├── DashboardRepository.php
│   │       │   └── WidgetRepository.php
│   │       ├── Services/
│   │       │   ├── ReportGeneratorService.php
│   │       │   ├── ReportSchedulerService.php
│   │       │   ├── ReportExportService.php
│   │       │   ├── DashboardService.php
│   │       │   ├── WidgetService.php
│   │       │   ├── ChartService.php
│   │       │   ├── DataSourceService.php
│   │       │   ├── PDFExportService.php
│   │       │   ├── ExcelExportService.php
│   │       │   ├── CSVExportService.php
│   │       │   ├── JSONExportService.php
│   │       │   ├── EmailReportService.php
│   │       │   └── AnalyticsService.php
│   │       ├── Controllers/
│   │       │   ├── Manager/
│   │       │   │   ├── ReportController.php
│   │       │   │   ├── ReportBuilderController.php
│   │       │   │   ├── DashboardController.php
│   │       │   │   ├── WidgetController.php
│   │       │   │   ├── ExportController.php
│   │       │   │   └── ScheduleController.php
│   │       │   └── Admin/
│   │       │       ├── ReportTemplateController.php
│   │       │       ├── DataSourceController.php
│   │       │       └── SettingsController.php
│   │       ├── Events/
│   │       │   ├── ReportGenerated.php
│   │       │   ├── ReportScheduled.php
│   │       │   ├── ReportExported.php
│   │       │   └── DashboardUpdated.php
│   │       ├── Listeners/
│   │       │   ├── SendReportEmail.php
│   │       │   ├── StoreReportHistory.php
│   │       │   └── NotifyReportReady.php
│   │       ├── Jobs/
│   │       │   ├── GenerateScheduledReport.php
│   │       │   ├── SendReportDigest.php
│   │       │   └── CleanupOldReports.php
│   │       └── Routes/
│   │           ├── manager.php
│   │           ├── admin.php
│   │           └── api.php
│   │
│   ├── Services/                                  # Cross-Module Services
│   │   ├── NotificationService.php
│   │   ├── EmailService.php
│   │   ├── SmsService.php
│   │   ├── PushNotificationService.php
│   │   ├── AuditService.php
│   │   ├── FileStorageService.php
│   │   ├── SearchService.php
│   │   ├── CacheService.php
│   │   ├── QueueService.php
│   │   ├── EncryptionService.php
│   │   ├── PDFService.php
│   │   ├── ExcelService.php
│   │   ├── ImportService.php
│   │   ├── ExportService.php
│   │   ├── BackupService.php
│   │   ├── RestoreService.php
│   │   ├── HealthCheckService.php
│   │   ├── MonitoringService.php
│   │   ├── AlertService.php
│   │   ├── IntegrationService.php
│   │   ├── WebhookService.php
│   │   ├── APIGatewayService.php
│   │   └── TranslationService.php
│   │
│   ├── Console/                                   # CLI Commands
│   │   ├── Kernel.php
│   │   ├── Commands/
│   │   │   ├── System/
│   │   │   │   ├── InstallCommand.php
│   │   │   │   ├── UpdateCommand.php
│   │   │   │   ├── BackupCommand.php
│   │   │   │   ├── RestoreCommand.php
│   │   │   │   ├── CacheClearCommand.php
│   │   │   │   ├── ConfigCacheCommand.php
│   │   │   │   ├── RouteCacheCommand.php
│   │   │   │   ├── QueueWorkCommand.php
│   │   │   │   ├── QueueRestartCommand.php
│   │   │   │   ├── HealthCheckCommand.php
│   │   │   │   └── MaintenanceModeCommand.php
│   │   │   ├── Attendance/
│   │   │   │   ├── ProcessAttendanceCommand.php
│   │   │   │   ├── GenerateAttendanceReportCommand.php
│   │   │   │   ├── SendAttendanceRemindersCommand.php
│   │   │   │   ├── SyncBiometricDataCommand.php
│   │   │   │   └── CalculateLeaveAccrualsCommand.php
│   │   │   ├── Inventory/
│   │   │   │   ├── CheckReorderPointsCommand.php
│   │   │   │   ├── ProcessExpiryAlertsCommand.php
│   │   │   │   ├── CalculateValuationCommand.php
│   │   │   │   ├── SyncStockLevelsCommand.php
│   │   │   │   └── GenerateInventoryReportCommand.php
│   │   │   ├── Procurement/
│   │   │   │   ├── ProcessPurchaseRequestsCommand.php
│   │   │   │   ├── CheckOrdersDeliveryCommand.php
│   │   │   │   ├── ProcessInvoicesCommand.php
│   │   │   │   └── GenerateProcurementReportCommand.php
│   │   │   ├── Finance/
│   │   │   │   ├── CalculateDepreciationCommand.php
│   │   │   │   ├── ReconcileBankAccountsCommand.php
│   │   │   │   ├── GenerateFinancialReportsCommand.php
│   │   │   │   └── CloseFinancialPeriodCommand.php
│   │   │   ├── Library/
│   │   │   │   ├── CheckOverdueBooksCommand.php
│   │   │   │   ├── SendOverdueRemindersCommand.php
│   │   │   │   ├── ProcessReservationQueueCommand.php
│   │   │   │   └── CalculateFinesCommand.php
│   │   │   └── ETIM/
│   │   │       ├── EtimImportCommand.php
│   │   │       ├── EtimSyncCommand.php
│   │   │       ├── EtimVerifyCommand.php
│   │   │       ├── EtimCheckUpdatesCommand.php
│   │   │       └── EtimGenerateReportCommand.php
│   │   └── Schedules/
│   │       ├── KernelScheduler.php
│   │       └── ScheduleDefinitions.php
│   │
│   └── Helpers/                                   # Helper Functions
│       ├── DateHelper.php
│       ├── TimeHelper.php
│       ├── NumberHelper.php
│       ├── StringHelper.php
│       ├── ArrayHelper.php
│       ├── FileHelper.php
│       ├── ImageHelper.php
│       ├── CurrencyHelper.php
│       ├── TaxHelper.php
│       ├── ValidationHelper.php
│       ├── FormatHelper.php
│       ├── EncryptionHelper.php
│       ├── HashHelper.php
│       ├── RandomHelper.php
│       ├── SlugHelper.php
│       ├── ModuleHelper.php
│       └── LeaveCalculatorHelper.php
│
├── bootstrap/                                      # Bootstrap Files
│   ├── app.php
│   ├── autoload.php
│   ├── providers.php
│   └── helpers.php
│
├── config/                                         # Configuration Files
│   ├── app.php
│   ├── auth.php
│   ├── database.php
│   ├── cache.php
│   ├── queue.php
│   ├── mail.php
│   ├── logging.php
│   ├── session.php
│   ├── cors.php
│   ├── modules.php
│   ├── roles.php
│   ├── permissions.php
│   ├── attendance.php
│   │   ├── clock_settings
│   │   ├── break_settings
│   │   ├── leave_settings
│   │   ├── overtime_settings
│   │   ├── notification_settings
│   │   └── gender_policies
│   ├── inventory.php
│   │   ├── stock_settings
│   │   ├── reorder_settings
│   │   ├── expiry_settings
│   │   └── valuation_method
│   ├── etim.php
│   │   ├── api_endpoint
│   │   ├── import_path
│   │   ├── supported_versions
│   │   ├── auto_verify_threshold
│   │   └── languages
│   ├── procurement.php
│   ├── finance.php
│   ├── library.php
│   ├── computerlab.php
│   ├── sciencelab.php
│   └── services/
│       ├── notification.php
│       ├── payment.php
│       └── integration.php
│
├── database/                                       # Database Files
│   ├── migrations/
│   │   ├── core/
│   │   │   ├── 2024_01_01_000001_create_users_table.php
│   │   │   ├── 2024_01_01_000002_create_roles_table.php
│   │   │   ├── 2024_01_01_000003_create_permissions_table.php
│   │   │   ├── 2024_01_01_000004_create_departments_table.php
│   │   │   ├── 2024_01_01_000005_create_settings_table.php
│   │   │   └── ...
│   │   ├── attendance/
│   │   │   ├── 2024_01_02_000001_create_employees_table.php
│   │   │   ├── 2024_01_02_000002_create_attendance_table.php
│   │   │   ├── 2024_01_02_000003_create_leaves_table.php
│   │   │   ├── 2024_01_02_000004_create_leave_balances_table.php
│   │   │   ├── 2024_01_02_000005_create_shifts_table.php
│   │   │   ├── 2024_01_02_000006_create_breaks_table.php
│   │   │   ├── 2024_01_02_000007_create_overtime_table.php
│   │   │   ├── 2024_01_02_000008_create_holidays_table.php
│   │   │   └── ...
│   │   ├── inventory/
│   │   │   ├── 2024_01_03_000001_create_products_table.php
│   │   │   ├── 2024_01_03_000002_create_categories_table.php
│   │   │   ├── 2024_01_03_000003_create_suppliers_table.php
│   │   │   ├── 2024_01_03_000004_create_warehouses_table.php
│   │   │   ├── 2024_01_03_000005_create_stock_levels_table.php
│   │   │   ├── 2024_01_03_000006_create_stock_movements_table.php
│   │   │   ├── 2024_01_03_000007_create_purchase_orders_table.php
│   │   │   ├── 2024_01_03_000008_create_goods_receipts_table.php
│   │   │   ├── 2024_01_03_000009_create_batches_table.php
│   │   │   └── ...
│   │   ├── etim/
│   │   │   ├── 2024_01_04_000001_create_etim_classifications_table.php
│   │   │   ├── 2024_01_04_000002_create_etim_features_table.php
│   │   │   ├── 2024_01_04_000003_create_etim_feature_values_table.php
│   │   │   ├── 2024_01_04_000004_create_etim_units_table.php
│   │   │   ├── 2024_01_04_000005_create_product_etim_classifications_table.php
│   │   │   ├── 2024_01_04_000006_add_etim_fields_to_receiving_table.php
│   │   │   └── ...
│   │   ├── computerlab/
│   │   ├── sciencelab/
│   │   ├── library/
│   │   ├── procurement/
│   │   └── finance/
│   │
│   ├── seeders/
│   │   ├── DatabaseSeeder.php
│   │   ├── CoreSeeder.php
│   │   ├── RoleSeeder.php
│   │   ├── PermissionSeeder.php
│   │   ├── DepartmentSeeder.php
│   │   ├── UserSeeder.php
│   │   ├── AttendanceSeeder.php
│   │   ├── InventorySeeder.php
│   │   ├── ETIMSeeder.php
│   │   ├── LibrarySeeder.php
│   │   ├── ComputerLabSeeder.php
│   │   ├── ScienceLabSeeder.php
│   │   ├── ProcurementSeeder.php
│   │   └── FinanceSeeder.php
│   │
│   └── factories/
│       ├── UserFactory.php
│       ├── EmployeeFactory.php
│       ├── ProductFactory.php
│       ├── BookFactory.php
│       ├── ChemicalFactory.php
│       └── ComputerFactory.php
│
├── public/                                         # Public Directory
│   ├── index.php
│   ├── .htaccess
│   ├── robots.txt
│   ├── favicon.ico
│   ├── assets/
│   │   ├── css/
│   │   │   ├── app.css
│   │   │   ├── admin.css
│   │   │   ├── manager.css
│   │   │   ├── hr.css
│   │   │   ├── gatekeeper.css
│   │   │   └── vendor.css
│   │   ├── js/
│   │   │   ├── app.js
│   │   │   ├── admin.js
│   │   │   ├── manager.js
│   │   │   ├── hr.js
│   │   │   ├── gatekeeper.js
│   │   │   ├── charts.js
│   │   │   └── vendor.js
│   │   └── images/
│   │       ├── logo.png
│   │       ├── favicon/
│   │       └── icons/
│   │
│   └── uploads/
│       ├── profile-photos/
│       ├── employee-documents/
│       ├── inventory/
│       │   ├── product-images/
│       │   └── documents/
│       ├── library/
│       │   ├── book-covers/
│       │   └── documents/
│       ├── laboratory/
│       │   ├── safety-sheets/
│       │   └── experiment-results/
│       ├── procurement/
│       │   ├── quotations/
│       │   ├── invoices/
│       │   └── contracts/
│       ├── etim/
│       │   ├── imports/
│       │   └── exports/
│       └── temp/
│
├── resources/                                      # Resources
│   ├── views/
│   │   ├── auth/
│   │   │   ├── login.blade.php
│   │   │   ├── register.blade.php
│   │   │   ├── forgot-password.blade.php
│   │   │   ├── reset-password.blade.php
│   │   │   ├── verify-email.blade.php
│   │   │   └── two-factor.blade.php
│   │   │
│   │   ├── admin/
│   │   │   ├── dashboard.blade.php
│   │   │   ├── users/
│   │   │   ├── roles/
│   │   │   ├── permissions/
│   │   │   ├── departments/
│   │   │   ├── settings/
│   │   │   ├── audit-logs/
│   │   │   └── backups/
│   │   │
│   │   ├── manager/
│   │   │   ├── dashboard.blade.php
│   │   │   ├── attendance/
│   │   │   ├── inventory/
│   │   │   ├── procurement/
│   │   │   ├── reports/
│   │   │   └── analytics/
│   │   │
│   │   ├── hr/
│   │   │   ├── dashboard.blade.php
│   │   │   ├── leaves/
│   │   │   │   ├── index.blade.php
│   │   │   │   ├── pending.blade.php
│   │   │   │   ├── approved.blade.php
│   │   │   │   ├── rejected.blade.php
│   │   │   │   ├── maternity.blade.php
│   │   │   │   ├── paternity.blade.php
│   │   │   │   ├── sick.blade.php
│   │   │   │   ├── annual.blade.php
│   │   │   │   ├── emergency.blade.php
│   │   │   │   ├── excused.blade.php
│   │   │   │   ├── approve.blade.php
│   │   │   │   ├── reject.blade.php
│   │   │   │   └── view.blade.php
│   │   │   ├── balances/
│   │   │   │   ├── index.blade.php
│   │   │   │   ├── adjust.blade.php
│   │   │   │   └── history.blade.php
│   │   │   ├── attendance/
│   │   │   │   ├── view.blade.php
│   │   │   │   └── corrections.blade.php
│   │   │   ├── overtime/
│   │   │   │   └── requests.blade.php
│   │   │   ├── employees/
│   │   │   │   ├── index.blade.php
│   │   │   │   ├── create.blade.php
│   │   │   │   ├── edit.blade.php
│   │   │   │   └── view.blade.php
│   │   │   └── reports/
│   │   │       ├── leave-summary.blade.php
│   │   │       ├── attendance-summary.blade.php
│   │   │       └── export.blade.php
│   │   │
│   │   ├── gatekeeper/
│   │   │   ├── clock-screen.blade.php
│   │   │   ├── staff-search.blade.php
│   │   │   ├── manual-clock.blade.php
│   │   │   ├── today-list.blade.php
│   │   │   └── quick-actions.blade.php
│   │   │
│   │   ├── storekeeper/
│   │   │   ├── dashboard.blade.php
│   │   │   ├── products/
│   │   │   ├── receiving/
│   │   │   ├── issues/
│   │   │   ├── transfers/
│   │   │   └── stock-count/
│   │   │
│   │   ├── librarian/
│   │   │   ├── dashboard.blade.php
│   │   │   ├── books/
│   │   │   ├── members/
│   │   │   ├── borrowing/
│   │   │   ├── returns/
│   │   │   └── fines/
│   │   │
│   │   ├── labtechnician/
│   │   │   ├── dashboard.blade.php
│   │   │   ├── computers/
│   │   │   ├── software/
│   │   │   └── bookings/
│   │   │
│   │   ├── labassistant/
│   │   │   ├── dashboard.blade.php
│   │   │   ├── chemicals/
│   │   │   ├── equipment/
│   │   │   └── experiments/
│   │   │
│   │   ├── procurement/
│   │   │   ├── receiving/
│   │   │   │   ├── verification.blade.php
│   │   │   │   ├── verification-report.blade.php
│   │   │   │   └── batch-verification.blade.php
│   │   │   └── reports/
│   │   │       └── etim-compliance.blade.php
│   │   │
│   │   ├── etim/
│   │   │   ├── admin/
│   │   │   │   ├── import.blade.php
│   │   │   │   ├── classifications.blade.php
│   │   │   │   ├── mapping.blade.php
│   │   │   │   └── settings.blade.php
│   │   │   └── procurement/
│   │   │       └── verification.blade.php
│   │   │
│   │   ├── errors/
│   │   │   ├── 403.blade.php
│   │   │   ├── 404.blade.php
│   │   │   ├── 419.blade.php
│   │   │   ├── 429.blade.php
│   │   │   └── 500.blade.php
│   │   │
│   │   ├── emails/
│   │   │   ├── auth/
│   │   │   ├── attendance/
│   │   │   ├── inventory/
│   │   │   ├── procurement/
│   │   │   └── reports/
│   │   │
│   │   ├── pdf/
│   │   │   ├── reports/
│   │   │   └── invoices/
│   │   │
│   │   └── partials/
│   │       ├── header.blade.php
│   │       ├── footer.blade.php
│   │       ├── sidebar/
│   │       │   ├── admin-sidebar.blade.php
│   │       │   ├── manager-sidebar.blade.php
│   │       │   ├── hr-sidebar.blade.php
│   │       │   ├── gatekeeper-sidebar.blade.php
│   │       │   └── staff-sidebar.blade.php
│   │       ├── modals/
│   │       │   ├── clock-in-modal.blade.php
│   │       │   ├── break-modal.blade.php
│   │       │   └── leave-modal.blade.php
│   │       └── widgets/
│   │           ├── attendance-stats.blade.php
│   │           ├── pending-count.blade.php
│   │           └── alerts.blade.php
│   │
│   ├── lang/
│   │   ├── en/
│   │   │   ├── auth.php
│   │   │   ├── validation.php
│   │   │   ├── pagination.php
│   │   │   ├── messages.php
│   │   │   ├── attendance.php
│   │   │   ├── inventory.php
│   │   │   ├── etim.php
│   │   │   ├── procurement.php
│   │   │   ├── library.php
│   │   │   └── verification.php
│   │   └── es/
│   │       └── ...
│   │
│   └── sass/
│       ├── app.scss
│       ├── admin.scss
│       └── gatekeeper.scss
│
├── routes/                                         # Routes
│   ├── web.php
│   ├── api.php
│   ├── admin.php
│   ├── manager.php
│   ├── hr.php
│   ├── gatekeeper.php
│   ├── storekeeper.php
│   ├── librarian.php
│   ├── technician.php
│   ├── assistant.php
│   └── modules/
│       ├── attendance.php
│       ├── inventory.php
│       ├── etim.php
│       ├── procurement.php
│       ├── library.php
│       ├── computerlab.php
│       └── sciencelab.php
│
├── storage/                                        # Storage
│   ├── app/
│   │   ├── public/
│   │   │   ├── uploads/
│   │   │   └── exports/
│   │   └── private/
│   ├── framework/
│   │   ├── cache/
│   │   ├── sessions/
│   │   ├── views/
│   │   └── testing/
│   ├── logs/
│   │   ├── system.log
│   │   ├── audit.log
│   │   ├── queue.log
│   │   ├── attendance.log
│   │   └── etim.log
│   ├── exports/
│   │   ├── reports/
│   │   ├── inventory/
│   │   └── attendance/
│   ├── reports/
│   │   ├── generated/
│   │   └── scheduled/
│   ├── backups/
│   │   ├── database/
│   │   └── files/
│   └── etim/
│       ├── imports/
│       ├── exports/
│       └── verification-reports/
│
├── tests/                                          # Tests
│   ├── TestCase.php
│   ├── CreatesApplication.php
│   ├── Traits/
│   │   ├── DatabaseMigrations.php
│   │   ├── DomainSetup.php
│   │   ├── AuthHelpers.php
│   │   └── FactoryHelpers.php
│   ├── Unit/
│   │   ├── Core/
│   │   ├── Attendance/
│   │   ├── Inventory/
│   │   ├── ETIM/
│   │   └── Library/
│   ├── Feature/
│   │   ├── Auth/
│   │   ├── Attendance/
│   │   ├── Inventory/
│   │   ├── Procurement/
│   │   └── API/
│   ├── Integration/
│   │   ├── Modules/
│   │   └── Services/
│   └── Mocks/
│       └── Repositories/
│
├── docker/                                         # Docker Configuration
│   ├── Dockerfile
│   ├── docker-compose.yml
│   ├── nginx/
│   │   ├── default.conf
│   │   └── ssl/
│   ├── php/
│   │   ├── php.ini
│   │   └── php-fpm.conf
│   ├── mysql/
│   │   └── my.cnf
│   ├── redis/
│   │   └── redis.conf
│   └── supervisor/
│       └── queue-worker.conf
│
├── docs/                                           # Documentation
│   ├── ARCHITECTURE.md
│   ├── CODING_STANDARDS.md
│   ├── CONTRIBUTING.md
│   ├── MODULE_CREATION_GUIDE.md
│   ├── DEPLOYMENT.md
│   ├── API/
│   │   ├── authentication.md
│   │   ├── attendance.md
│   │   ├── inventory.md
│   │   ├── procurement.md
│   │   ├── library.md
│   │   ├── etim.md
│   │   └── postman/
│   │       └── collection.json
│   ├── ERD/
│   │   ├── core-erd.png
│   │   ├── attendance-erd.png
│   │   ├── inventory-erd.png
│   │   └── etim-erd.png
│   ├── UserGuide/
│   │   ├── admin/
│   │   ├── manager/
│   │   ├── hr/
│   │   ├── gatekeeper/
│   │   │   ├── clocking-staff.md
│   │   │   └── manual-entry.md
│   │   ├── storekeeper/
│   │   └── librarian/
│   └── Integration/
│       ├── etim-integration.md
│       └── biometric-devices.md
│
├── .env.example
├── .env.testing
├── .gitignore
├── .gitattributes
├── .editorconfig
├── phpunit.xml
├── phpcs.xml
├── phpmd.xml
├── phpstan.neon
├── psalm.xml
├── package.json
├── webpack.mix.js
├── composer.json
└── README.md