# bhaveshdeveloper125/office-management architecture

> Architecture diagram of the GitHub repository bhaveshdeveloper125/office-management, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-22). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bhaveshdeveloper125/office-management
- Repository: https://github.com/bhaveshdeveloper125/office-management

## Overview

1. **What this repository is**
   - A Laravel 12-style PHP web application for **employee attendance and leave management**.
   - The architecture is classic server-rendered MVC: HTTP routes → controllers → Eloquent models → Blade views, with email notifications and some authorization/business-rule hooks around the domain.

2. **Primary user-facing split**
   - The UI is divided into two major portals:
     - **Admin** screens under `resources/views/Admin`
     - **Employee** screens under `resources/views/Employee`
   - There is also a shared login/reset-password flow and reusable Blade components in `resources/views/components`.

3. **Request handling boundary**
   - `routes/web.php` is the main entry point for browser traffic.
   - Controllers in `app/Http/Controllers` map the route surface area into feature areas: employee management, attendance, leave, holidays, role management, password recovery, and per-user dashboards.
   - `app/Http/Middleware/AuthcheckMiddleware.php` indicates a custom auth gate layered on top of the normal Laravel auth flow.

4. **Core domain model**
   - The central business entities are:
     - `User`
     - `Attendance`
     - `Leave`
     - `UserLeave`
     - `Holiday`
     - `WeeklyHoliday`
   - These models represent employee identity, daily attendance records, leave requests/records, holiday calendars, and recurring weekly off-days.

5. **Admin subsystem**
   - Admin controllers and views support:
     - adding/editing employees
     - reviewing employee details and daily attendance
     - leave approval/management
     - holiday management
     - role management
     - password changes
     - employee search
   - This is the operational control plane of the app.

6. **Employee subsystem**
   - Employee controllers and views support:
     - viewing attendance summaries and statuses such as late, absent, early, overtime
     - marking or reviewing attendance
     - requesting leave
     - viewing holidays and profile data
     - checking remaining days / working days
   - This is the self-service portal focused on personal records and requests.

7. **Leave and attendance workflows**
   - Attendance and leave are the most business-critical flows and likely drive most of the data state changes.
   - The presence of `AttendanceObserver.php` and `LeaveObserver.php` suggests lifecycle-driven side effects, such as updating aggregates, enforcing rules, or triggering notifications when records are created or changed.

8. **Authorization and roles**
   - Access control is not just route-level authentication; it also includes:
     - `app/Policies/AttendancePolicy.php`
     - `app/Http/Controllers/RoleController.php`
     - `config/permission.php`
     - `database/migrations/2025_12_25_125329_create_permission_tables.php`
   - This strongly suggests a permission/role subsystem for distinguishing admin and employee capabilities.

9. **Email and notification boundary**
   - Mailables in `app/Mail` and matching Blade templates in `resources/views/Mail` cover:
     - welcome email
     - forgot password email
     - leave request email
     - leave approval email
     - rejection email
   - Email is a key integration point for workflow notifications, especially around account onboarding and leave approvals.

10. **Business rules and configuration**
   - Domain-specific settings are extracted into config files such as:
     - `config/LeavesVars.php`
     - `config/WeeklyHoliday.php`
   - These likely hold leave balance rules, expected attendance behavior, or holiday definitions that affect calculations across controllers and views.

11. **Database shape and evolution**
   - The migration history shows the app evolved from basic users to a more complete HR-style system:
     - user profile extensions
     - expected working hours
     - attendance table
     - leave tables
     - holiday tables
     - permission tables
     - `created_by` auditing fields
   - This suggests a relational data model with auditability and administrative ownership metadata.

12. **Presentation and component structure**
   - Blade components such as `EmployeeMenu`, `SideBarMenu`, `EmployeePageHeader`, and `EmpDataFilter` indicate reusable layout/navigation and filtering UI.
   - The app uses Laravel Blade as the main rendering layer, with a modest asset pipeline via Vite (`resources/js`, `resources/css`, `vite.config.js`) and some static CSS in `public/css`.

13. **Operational/runtime context**
   - Standard Laravel infrastructure is present: cache, sessions, logging, queue tables, storage directories, and database seeders.
   - `database/seeders/InitialData.php` likely bootstraps roles, default holidays, or starter users for the system.

14. **How to draw the architecture**
   - A useful diagram would center on three domains:
     - **Identity/access**: users, roles, permissions, auth middleware/policies
     - **Attendance/leave/holiday management**: the core transactional business layer
     - **Notifications/UI**: Blade views, shared components, and mailables
   - The main data flows are browser request → controller → model/database → view response, with observers and mailers branching off when leave/attendance events occur.

Main entry points: [`routes/web.php`](https://github.com/bhaveshdeveloper125/office-management/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/LeaveController.php`](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/LeaveController.php) (Leave), [`app/Http/Controllers/AttendanceController.php`](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/AttendanceController.php) (Attendance), [`app/Http/Controllers/HolidayController.php`](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/HolidayController.php) (Holidays)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_request["Request Layer"]
  node_routes_web["Web routes<br/>route map<br/>[web.php]"]
  node_auth_middleware{{"Auth gate<br/>middleware"}}
  node_admin_home_controller["Admin home<br/>controller"]
  node_employee_home_controller["Employee home<br/>controller"]
  node_user_controller["Employees<br/>controller<br/>[Usercontroller.php]"]
  node_attendance_controller["Attendance<br/>controller"]
  node_leave_controller["Leave<br/>controller"]
  node_user_leave_controller["Leave records<br/>controller"]
  node_holiday_controller["Holidays<br/>controller"]
  node_weekly_holiday_controller["Weekly off<br/>controller"]
  node_role_controller["Roles<br/>controller<br/>[RoleController.php]"]
  node_forgot_password_controller["Password reset<br/>controller"]
end

subgraph group_domain["Domain & Data"]
  node_user_model[("User<br/>eloquent model<br/>[User.php]")]
  node_attendance_model[("Attendance<br/>eloquent model<br/>[Attendance.php]")]
  node_leave_model[("Leave<br/>eloquent model<br/>[Leave.php]")]
  node_user_leave_model[("User leave<br/>eloquent model<br/>[UserLeave.php]")]
  node_holiday_model[("Holiday<br/>eloquent model<br/>[Holiday.php]")]
  node_weekly_holiday_model[("Weekly holiday<br/>eloquent model<br/>[WeeklyHoliday.php]")]
  node_attendance_observer(("Attendance hook<br/>observer"))
  node_leave_observer(("Leave hook<br/>observer<br/>[LeaveObserver.php]"))
  node_attendance_policy{{"Attendance policy"}}
  node_permission_migration["Permissions schema<br/>schema migration"]
  node_schema_migrations["Core schema<br/>schema migrations"]
end

subgraph group_presentation["Presentation"]
  node_admin_views["Admin UI<br/>blade views"]
  node_employee_views["Employee UI<br/>blade views"]
  node_shared_components["Shared components<br/>blade components"]
  node_mailers["Mailers<br/>notification"]
  node_mail_views["Mail templates<br/>blade views"]
end

subgraph group_ops["Config & Seed"]
  node_leave_rules["Leave rules<br/>config<br/>[LeavesVars.php]"]
  node_weekly_rules["Weekly rules<br/>config<br/>[WeeklyHoliday.php]"]
  node_seed_data["Initial data<br/>seeder<br/>[InitialData.php]"]
end

node_routes_web -->|"protects"| node_auth_middleware
node_routes_web -->|"dispatches"| node_admin_home_controller
node_routes_web -->|"dispatches"| node_employee_home_controller
node_routes_web -->|"dispatches"| node_user_controller
node_routes_web -->|"dispatches"| node_attendance_controller
node_routes_web -->|"dispatches"| node_leave_controller
node_routes_web -->|"dispatches"| node_holiday_controller
node_routes_web -->|"dispatches"| node_role_controller
node_routes_web -->|"dispatches"| node_forgot_password_controller
node_routes_web -->|"dispatches"| node_weekly_holiday_controller
node_user_controller -->|"uses"| node_user_model
node_attendance_controller -->|"uses"| node_attendance_model
node_leave_controller -->|"uses"| node_leave_model
node_user_leave_controller -->|"uses"| node_user_leave_model
node_holiday_controller -->|"uses"| node_holiday_model
node_weekly_holiday_controller -->|"uses"| node_weekly_holiday_model
node_attendance_model -->|"triggers"| node_attendance_observer
node_leave_model -->|"triggers"| node_leave_observer
node_attendance_controller -->|"authorizes"| node_attendance_policy
node_role_controller -->|"depends on"| node_permission_migration
node_user_model -->|"defined by"| node_schema_migrations
node_attendance_model -->|"defined by"| node_schema_migrations
node_leave_model -->|"defined by"| node_schema_migrations
node_holiday_model -->|"defined by"| node_schema_migrations
node_admin_home_controller -->|"renders"| node_admin_views
node_user_controller -->|"renders"| node_admin_views
node_attendance_controller -->|"renders"| node_admin_views
node_leave_controller -->|"renders"| node_admin_views
node_holiday_controller -->|"renders"| node_admin_views
node_employee_home_controller -->|"renders"| node_employee_views
node_attendance_controller -->|"renders"| node_employee_views
node_leave_controller -->|"renders"| node_employee_views
node_holiday_controller -->|"renders"| node_employee_views
node_employee_views -->|"composes"| node_shared_components
node_mailers -->|"renders"| node_mail_views
node_leave_controller -->|"sends"| node_mailers
node_forgot_password_controller -->|"sends"| node_mailers
node_leave_controller -->|"reads"| node_leave_rules
node_holiday_controller -->|"reads"| node_weekly_rules
node_seed_data -->|"boots"| node_permission_migration
node_seed_data -->|"boots"| node_weekly_holiday_model

click node_routes_web "https://github.com/bhaveshdeveloper125/office-management/blob/main/routes/web.php"
click node_auth_middleware "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Middleware/AuthcheckMiddleware.php"
click node_admin_home_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/AdminHomePageController.php"
click node_employee_home_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/EmployeeHomePageController.php"
click node_user_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/Usercontroller.php"
click node_attendance_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/AttendanceController.php"
click node_leave_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/LeaveController.php"
click node_user_leave_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/UserLeaveController.php"
click node_holiday_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/HolidayController.php"
click node_weekly_holiday_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/WeeklyHolidayController.php"
click node_role_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/RoleController.php"
click node_forgot_password_controller "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/ForgotPasswordController.php"
click node_user_model "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/User.php"
click node_attendance_model "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/Attendance.php"
click node_leave_model "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/Leave.php"
click node_user_leave_model "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/UserLeave.php"
click node_holiday_model "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/Holiday.php"
click node_weekly_holiday_model "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/WeeklyHoliday.php"
click node_attendance_observer "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Observers/AttendanceObserver.php"
click node_leave_observer "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Observers/LeaveObserver.php"
click node_attendance_policy "https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Policies/AttendancePolicy.php"
click node_permission_migration "https://github.com/bhaveshdeveloper125/office-management/blob/main/database/migrations/2025_12_25_125329_create_permission_tables.php"
click node_schema_migrations "https://github.com/bhaveshdeveloper125/office-management/blob/main/database/migrations/0001_01_01_000000_create_users_table.php"
click node_admin_views "https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/Admin"
click node_employee_views "https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/Employee"
click node_shared_components "https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/components"
click node_mailers "https://github.com/bhaveshdeveloper125/office-management/tree/main/app/Mail"
click node_mail_views "https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/Mail"
click node_leave_rules "https://github.com/bhaveshdeveloper125/office-management/blob/main/config/LeavesVars.php"
click node_weekly_rules "https://github.com/bhaveshdeveloper125/office-management/blob/main/config/WeeklyHoliday.php"
click node_seed_data "https://github.com/bhaveshdeveloper125/office-management/blob/main/database/seeders/InitialData.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_routes_web,node_auth_middleware,node_admin_home_controller,node_employee_home_controller,node_user_controller,node_attendance_controller,node_leave_controller,node_user_leave_controller,node_holiday_controller,node_weekly_holiday_controller,node_role_controller,node_forgot_password_controller toneBlue
class node_user_model,node_attendance_model,node_leave_model,node_user_leave_model,node_holiday_model,node_weekly_holiday_model,node_attendance_observer,node_leave_observer,node_attendance_policy,node_permission_migration,node_schema_migrations toneAmber
class node_admin_views,node_employee_views,node_shared_components,node_mailers,node_mail_views toneMint
class node_leave_rules,node_weekly_rules,node_seed_data toneRose
```

## Components

### Request Layer

HTTP entry points, middleware, and controllers.

- [Web routes](https://github.com/bhaveshdeveloper125/office-management/blob/main/routes/web.php): route map · Main browser entry point that dispatches to feature controllers. · `routes/web.php`
- [Auth gate](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Middleware/AuthcheckMiddleware.php): middleware · Custom authentication check layered on top of Laravel auth. · `app/Http/Middleware/AuthcheckMiddleware.php`
- [Admin home](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/AdminHomePageController.php): controller · Admin landing/dashboard controller. · `app/Http/Controllers/AdminHomePageController.php`
- [Employee home](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/EmployeeHomePageController.php): controller · Employee landing/dashboard controller. · `app/Http/Controllers/EmployeeHomePageController.php`
- [Employees](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/Usercontroller.php): controller · Admin-facing employee management, search, and profile actions. · `app/Http/Controllers/Usercontroller.php`
- [Attendance](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/AttendanceController.php): controller · Attendance capture, review, and summaries for admin and employees. · `app/Http/Controllers/AttendanceController.php`
- [Leave](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/LeaveController.php): controller · Leave request and approval workflow controller. · `app/Http/Controllers/LeaveController.php`
- [Leave records](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/UserLeaveController.php): controller · Per-user leave record management and balances. · `app/Http/Controllers/UserLeaveController.php`
- [Holidays](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/HolidayController.php): controller · Holiday management for admin and employee views. · `app/Http/Controllers/HolidayController.php`
- [Weekly off](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/WeeklyHolidayController.php): controller · Recurring weekly holiday management. · `app/Http/Controllers/WeeklyHolidayController.php`
- [Roles](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/RoleController.php): controller · Role and permission administration controller. · `app/Http/Controllers/RoleController.php`
- [Password reset](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Http/Controllers/ForgotPasswordController.php): controller · Forgot-password and reset flow controller. · `app/Http/Controllers/ForgotPasswordController.php`

### Domain & Data

Core models, observers, policies, and schema evolution.

- [User](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/User.php): eloquent model · Employee identity, profile, and access anchor. · `app/Models/User.php`
- [Attendance](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/Attendance.php): eloquent model · Daily attendance records and working-hour data. · `app/Models/Attendance.php`
- [Leave](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/Leave.php): eloquent model · Leave request lifecycle and status records. · `app/Models/Leave.php`
- [User leave](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/UserLeave.php): eloquent model · Leave entitlements or per-user leave tracking. · `app/Models/UserLeave.php`
- [Holiday](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/Holiday.php): eloquent model · Calendar holiday dates. · `app/Models/Holiday.php`
- [Weekly holiday](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Models/WeeklyHoliday.php): eloquent model · Recurring weekly off-day configuration. · `app/Models/WeeklyHoliday.php`
- [Attendance hook](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Observers/AttendanceObserver.php): observer · Lifecycle side effects for attendance changes. · `app/Observers/AttendanceObserver.php`
- [Leave hook](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Observers/LeaveObserver.php): observer · Lifecycle side effects for leave changes. · `app/Observers/LeaveObserver.php`
- [Attendance policy](https://github.com/bhaveshdeveloper125/office-management/blob/main/app/Policies/AttendancePolicy.php): policy · Authorization rules for attendance access and actions. · `app/Policies/AttendancePolicy.php`
- [Permissions schema](https://github.com/bhaveshdeveloper125/office-management/blob/main/database/migrations/2025_12_25_125329_create_permission_tables.php): schema migration · Creates role and permission tables for access control. · `database/migrations/2025_12_25_125329_create_permission_tables.php`
- [Core schema](https://github.com/bhaveshdeveloper125/office-management/blob/main/database/migrations/0001_01_01_000000_create_users_table.php): schema migrations · User, attendance, leave, and holiday table evolution plus auditing fields. · `database/migrations/0001_01_01_000000_create_users_table.php`

### Presentation

Blade pages, reusable components, and mail templates.

- [Admin UI](https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/Admin): blade views · Admin portal screens for employees, attendance, leave, and holidays. · `resources/views/Admin`
- [Employee UI](https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/Employee): blade views · Employee self-service screens for attendance, leave, holidays, and profile. · `resources/views/Employee`
- [Shared components](https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/components): blade components · Reusable navigation, header, and filtering components. · `resources/views/components`
- [Mailers](https://github.com/bhaveshdeveloper125/office-management/tree/main/app/Mail): notification · Welcome, reset-password, leave request, approval, and rejection emails. · `app/Mail`
- [Mail templates](https://github.com/bhaveshdeveloper125/office-management/tree/main/resources/views/Mail): blade views · Blade templates used by notification emails. · `resources/views/Mail`

### Config & Seed

Domain rules, framework config, and bootstrap data.

- [Leave rules](https://github.com/bhaveshdeveloper125/office-management/blob/main/config/LeavesVars.php): config · Domain settings for leave calculations and balances. · `config/LeavesVars.php`
- [Weekly rules](https://github.com/bhaveshdeveloper125/office-management/blob/main/config/WeeklyHoliday.php): config · Domain settings for weekly holiday behavior. · `config/WeeklyHoliday.php`
- [Initial data](https://github.com/bhaveshdeveloper125/office-management/blob/main/database/seeders/InitialData.php): seeder · Bootstraps starter roles, users, or holiday data. · `database/seeders/InitialData.php`

## Connections

- Web routes → Auth gate: protects · Browser routes are gated by the custom auth check.
- Web routes → Admin home: dispatches · Admin landing routes resolve to the admin dashboard controller.
- Web routes → Employee home: dispatches · Employee landing routes resolve to the employee dashboard controller.
- Web routes → Employees: dispatches · Routes expose employee administration flows.
- Web routes → Attendance: dispatches · Routes expose attendance workflows.
- Web routes → Leave: dispatches · Routes expose leave request and approval workflows.
- Web routes → Holidays: dispatches · Routes expose holiday management pages and actions.
- Web routes → Roles: dispatches · Routes expose role and permission management.
- Web routes → Password reset: dispatches · Routes expose login recovery flows.
- Web routes → Weekly off: dispatches · Routes expose recurring holiday management.
- Employees → User: uses · Employee management reads and updates user records.
- Attendance → Attendance: uses · Attendance workflows persist and query attendance records.
- Leave → Leave: uses · Leave workflows operate on leave requests and approvals.
- Leave records → User leave: uses · Leave balance and entitlement logic uses per-user leave data.
- Holidays → Holiday: uses · Holiday management persists calendar holidays.
- Weekly off → Weekly holiday: uses · Weekly off-day configuration persists recurring holidays.
- Attendance → Attendance hook: triggers · Attendance lifecycle changes can trigger observer side effects.
- Leave → Leave hook: triggers · Leave lifecycle changes can trigger observer side effects.
- Attendance → Attendance policy: authorizes · Attendance actions are constrained by policy checks.
- Roles → Permissions schema: depends on · Role administration relies on the permissions schema.
- User → Core schema: defined by · User fields and audit columns evolve through migrations.
- Attendance → Core schema: defined by · Attendance table structure is created and extended by migrations.
- Leave → Core schema: defined by · Leave table structure is created and extended by migrations.
- Holiday → Core schema: defined by · Holiday table structure is created through migrations.
- Admin home → Admin UI: renders · Admin dashboard and management screens are rendered from Blade views.
- Employees → Admin UI: renders · Employee administration actions render admin portal pages.
- Attendance → Admin UI: renders · Admin attendance review screens use admin Blade templates.
- Leave → Admin UI: renders · Admin leave approval screens use admin Blade templates.
- Holidays → Admin UI: renders · Holiday management screens are rendered in the admin portal.
- Employee home → Employee UI: renders · Employee dashboard and self-service screens are rendered for employees.
- Attendance → Employee UI: renders · Employee attendance views are rendered from Blade templates.
- Leave → Employee UI: renders · Employee leave request screens are rendered from Blade templates.
- Holidays → Employee UI: renders · Employee holiday views are rendered from Blade templates.
- Employee UI → Shared components: composes · Employee and admin pages reuse shared navigation and filter components.
- Mailers → Mail templates: renders · Mailable classes use dedicated Blade email templates.
- Leave → Mailers: sends · Leave submission and approval steps emit email notifications.
- Password reset → Mailers: sends · Password recovery flow sends reset and welcome mail.
- Leave → Leave rules: reads · Leave workflow uses domain configuration for balances and rules.
- Holidays → Weekly rules: reads · Holiday logic uses recurring weekly-off configuration.
- Initial data → Permissions schema: boots · Initial data likely seeds roles and permissions.
- Initial data → Weekly holiday: boots · Initial data may seed default weekly holidays.
