A modern Human Resource Information System (HRIS) built with Laravel 12, Blade, Tailwind CSS, and MySQL. This application helps companies manage employee data, attendance, leave requests, office locations, and geolocation-based attendance through a secure role-based access system.
Current Version: v1.1.0
- Office Management
- Geolocation Attendance
- Office Radius Configuration
- Haversine Distance Calculation
- Attendance Radius Validation
- Google Maps Coordinate Link
- Store Latitude, Longitude, Accuracy & Distance
- Manual Authentication (Without Laravel Breeze)
- Login & Logout
- Session Authentication
- Role-Based Access Control
- Admin
- HR
- Employee
- Dashboard Overview
- Employee Statistics
- Attendance Statistics
- Leave Statistics
- Create Department
- Update Department
- Delete Department
- Search Department
- Pagination
- Create Position
- Update Position
- Delete Position
- Search Position
- Pagination
- Create Employee
- Update Employee
- Delete Employee
- Upload Avatar
- Search Employee
- Pagination
- Office CRUD
- Office Location Configuration
- Office Radius Configuration
- Search Office
- Pagination
- View All Attendance Records
- Search Attendance
- Filter by Date
- Filter by Department
- Filter by Status
- Attendance History
- View Employee Coordinates
- View Distance from Office
- View Attendance Location Status
- Open Location in Google Maps
- View Leave Requests
- Approve Leave
- Reject Leave
- Manage Leave Status
- Attendance Summary
- Department Filter
- Date Filter
- Attendance Statistics
- Personal Dashboard
- Attendance Summary
- Check In
- Check Out
- One Check-In Validation per Day
- One Check-Out Validation per Day
- Late Attendance Detection
- Attendance History
- Browser Geolocation API
- GPS Permission Request
- Automatic Latitude & Longitude Detection
- GPS Accuracy Detection
- Haversine Distance Calculation
- Office Radius Validation
- Attendance Location Recording
- Google Maps Coordinate Link
- Submit Leave Request
- Submit Sick Leave
- Submit Vacation Leave
- View Request Status
- Leave History
- Update Profile
- Change Password
- Update Avatar
- Laravel 12
- PHP 8.2+
- Blade
- Tailwind CSS
- MySQL
- JavaScript Geolocation API
- Eloquent ORM
app/
βββ Http/
β βββ Controllers/
β β βββ Admin/
β β βββ Employee/
β β βββ HR/
β β
β βββ Requests/
β
βββ Models/
βββ Middleware/
βββ Providers/
resources/
βββ views/
β βββ admin/
β βββ employee/
β βββ hr/
β βββ layouts/
routes/
βββ web.php
βββ console.php
Clone the repository.
git clone https://github.com/MasMuham24/e-absensi.gitMove into the project directory.
cd e-absensiInstall dependencies.
composer installCopy the environment file.
cp .env.example .envGenerate the application key.
php artisan key:generateConfigure your database in the .env file.
Run the migrations and seeders.
php artisan migrate --seedCreate the storage link.
php artisan storage:linkStart the development server.
php artisan serveMain Tables
- users
- departments
- positions
- offices
- attendances
- leave_requests
- Admin
- HR
- Employee
Employee Login
β
βΌ
Check In
β
βΌ
Browser Requests GPS Permission
β
βΌ
Get Latitude, Longitude & Accuracy
β
βΌ
Calculate Distance (Haversine Formula)
β
βΌ
Validate Office Radius
β
βββ Inside Radius
β β
β βΌ
β Attendance Recorded
β
βββ Outside Radius
β
βΌ
Attendance Rejected
Employee Login
β
βΌ
Check In
β
βΌ
Attendance Recorded
β
βΌ
Check Out
β
βΌ
Attendance History
β
βΌ
Leave Request Submission
β
βΌ
Admin/HR Approval
β
βΌ
Attendance Report
This project demonstrates:
- Manual Authentication
- Role-Based Authorization
- CRUD Operations
- Form Request Validation
- Eloquent Relationships
- File Upload
- Search & Filtering
- Pagination
- Business Workflow Implementation
- Attendance Logic
- Leave Management
- Office Management
- Geolocation API Integration
- Haversine Formula Implementation
- Radius Validation
- Reporting System
- Clean MVC Architecture
- Office Management
- Geolocation Attendance
- Office Radius Configuration
- Haversine Formula
- Radius Validation
- Google Maps Coordinate Link
- GPS Accuracy Recording
- Latitude & Longitude Recording
- Attendance Workflow
- Attendance Validation
- Database Structure
Initial Release
- Authentication
- Employee Management
- Attendance Management
- Leave Management
- Attendance Reporting
This project is intended for educational purposes and portfolio demonstration.
Muhammad Syafi'i
GitHub: https://github.com/MasMuham24