Skip to content

Repository files navigation

Employee Attendance System (HRIS v1.1.0)

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.


πŸš€ Latest Release

Current Version: v1.1.0

✨ New Features

  • Office Management
  • Geolocation Attendance
  • Office Radius Configuration
  • Haversine Distance Calculation
  • Attendance Radius Validation
  • Google Maps Coordinate Link
  • Store Latitude, Longitude, Accuracy & Distance

πŸš€ Features

Authentication

  • Manual Authentication (Without Laravel Breeze)
  • Login & Logout
  • Session Authentication
  • Role-Based Access Control

Roles

  • Admin
  • HR
  • Employee

πŸ‘¨β€πŸ’Ό Admin & HR Features

Dashboard

  • Dashboard Overview
  • Employee Statistics
  • Attendance Statistics
  • Leave Statistics

Department Management

  • Create Department
  • Update Department
  • Delete Department
  • Search Department
  • Pagination

Position Management

  • Create Position
  • Update Position
  • Delete Position
  • Search Position
  • Pagination

Employee Management

  • Create Employee
  • Update Employee
  • Delete Employee
  • Upload Avatar
  • Search Employee
  • Pagination

Office Management

  • Office CRUD
  • Office Location Configuration
  • Office Radius Configuration
  • Search Office
  • Pagination

Attendance Management

  • 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

Leave Request Management

  • View Leave Requests
  • Approve Leave
  • Reject Leave
  • Manage Leave Status

Attendance Report

  • Attendance Summary
  • Department Filter
  • Date Filter
  • Attendance Statistics

πŸ‘¨β€πŸ’» Employee Features

Dashboard

  • Personal Dashboard
  • Attendance Summary

Attendance

  • Check In
  • Check Out
  • One Check-In Validation per Day
  • One Check-Out Validation per Day
  • Late Attendance Detection
  • Attendance History

Geolocation Attendance

  • 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

Leave Request

  • Submit Leave Request
  • Submit Sick Leave
  • Submit Vacation Leave
  • View Request Status
  • Leave History

Profile

  • Update Profile
  • Change Password
  • Update Avatar

πŸ›  Tech Stack

  • Laravel 12
  • PHP 8.2+
  • Blade
  • Tailwind CSS
  • MySQL
  • JavaScript Geolocation API
  • Eloquent ORM

πŸ“‚ Project Structure

app/
β”œβ”€β”€ Http/
β”‚   β”œβ”€β”€ Controllers/
β”‚   β”‚   β”œβ”€β”€ Admin/
β”‚   β”‚   β”œβ”€β”€ Employee/
β”‚   β”‚   └── HR/
β”‚   β”‚
β”‚   └── Requests/
β”‚
β”œβ”€β”€ Models/
β”œβ”€β”€ Middleware/
└── Providers/

resources/
β”œβ”€β”€ views/
β”‚   β”œβ”€β”€ admin/
β”‚   β”œβ”€β”€ employee/
β”‚   β”œβ”€β”€ hr/
β”‚   └── layouts/

routes/
β”œβ”€β”€ web.php
└── console.php

βš™οΈ Installation

Clone the repository.

git clone https://github.com/MasMuham24/e-absensi.git

Move into the project directory.

cd e-absensi

Install dependencies.

composer install

Copy the environment file.

cp .env.example .env

Generate the application key.

php artisan key:generate

Configure your database in the .env file.

Run the migrations and seeders.

php artisan migrate --seed

Create the storage link.

php artisan storage:link

Start the development server.

php artisan serve

πŸ—„ Database

Main Tables

  • users
  • departments
  • positions
  • offices
  • attendances
  • leave_requests

πŸ” Default Roles

  • Admin
  • HR
  • Employee

πŸ“ Geolocation Attendance Workflow

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

πŸ“ˆ Business Workflow

Employee Login
        β”‚
        β–Ό
Check In
        β”‚
        β–Ό
Attendance Recorded
        β”‚
        β–Ό
Check Out
        β”‚
        β–Ό
Attendance History
        β”‚
        β–Ό
Leave Request Submission
        β”‚
        β–Ό
Admin/HR Approval
        β”‚
        β–Ό
Attendance Report

🎯 Learning Objectives

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

πŸ“ Changelog

v1.1.0

Added

  • Office Management
  • Geolocation Attendance
  • Office Radius Configuration
  • Haversine Formula
  • Radius Validation
  • Google Maps Coordinate Link
  • GPS Accuracy Recording
  • Latitude & Longitude Recording

Improved

  • Attendance Workflow
  • Attendance Validation
  • Database Structure

v1.0.0

Initial Release

  • Authentication
  • Employee Management
  • Attendance Management
  • Leave Management
  • Attendance Reporting

πŸ“„ License

This project is intended for educational purposes and portfolio demonstration.


πŸ‘€ Author

Muhammad Syafi'i

GitHub: https://github.com/MasMuham24

About

A modern Human Resource Information System (HRIS) built with Laravel 12, Blade, Tailwind CSS, and MySQL. The application provides employee management, attendance tracking, leave management, office management, and geolocation-based attendance with office radius validation through a secure role-based access system.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages