This project is a Laravel-based attendance system designed for general use. It features face recognition, geolocation, and flexible shift management. The system is ideal for organizations needing an efficient way to track attendance, manage schedules, and handle absences.
- Face Recognition: Users can clock in and out using face recognition technology.
- Geolocation: Ensures that attendance is recorded only when users are at the specified location.
- Absence Management: Users can provide reasons and evidence for absences.
- User-Friendly Interface: Built with Filament to provide a clean and intuitive admin panel.
- Laravel 11.x: The PHP framework used to build the application.
- Filament 3: Used for the admin interface and resource management.
- MySQL 8.0: The database system used to store all records.
- Sanctum: For API authentication.
- PHP 8.0 or higher
- Composer
- MySQL 8.0 or higher
To get started with the Laravel Attendance Lab project, follow the steps below:
-
Clone the repository:
git clone https://github.com/IlhamGhaza/laravel-attendance-lab.git cd laravel-attendance-lab
-
Install dependencies:
composer install
-
Copy the
.env.example
file to.env
:cp .env.example .env
-
Generate application key:
php artisan key:generate
-
Set up your database:
-
Update the
.env
file with your database credentials. -
Run migrations and seeders:
php artisan migrate --seed
-
-
Install Laravel Shield for User Permissions: you can use this command to install Laravel Shield for user permissions
php artisan shield:install
to generate all permissions
php artisan shield:generate --all
you can read the documentation here
-
Serve the application:
php artisan serve
-
Access the application:
Open your web browser and visit
http://localhost:8000/admin
to access the Laravel Attendance Lab application. -
Admin Panel:
Log in with the admin credentials provided during the seed process.
- Admin Panel: Manage shifts, schedules, and attendance records via the Filament interface.
- Clock In/Out: Users can clock in and out using the face recognition feature.
- Manage Shifts: Admins can create and manage shifts for users.
- Absence Requests: Users can submit absence requests with reasons and evidence.
you can use postman to test api in postman_collections folder
Contributions are welcome! Please follow the standard GitHub flow:
- Fork the repository.
- Create a new branch.
- Make your changes.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
If you encounter any issues or have any questions, please feel free to reach out to the project maintainer at Email.