💼 MyLava (Employee Management System)
📜 Overview
The MyLava (Employee Management System) is a web application designed to manage employee attendance, leave applications, admin messages and approvals. It offers a user-friendly interface with distinct functionalities for both employees and administrators. This system is built using Laravel for the backend, with Bootstrap5 and jQuery for the frontend.
📺 Video Demo
Screencast from 16-07-24 04:57:02 PM IST.webm
✨ Features
Employee Features
-
Attendance Tracking: Employees can view and manage their attendance records.
-
Leave Application: Employees can apply for leave, specifying the type and duration.
-
Password Reset: Users can reset their passwords if forgotten.
-
Messages: Employees can give reply to messages from admin. Employees cannot send direct messages to admin & other employees.
-
Compensatory Leave: Users can apply for compensatory leaves. Compoffs generate automatically based on attendance, if the employee is working on a holiday then a compoff will generate for them which can be used later to writeoff a previous leave or take a leave which will not be deducted from the employee's leave balance.
Admin Features
-
Admin Attendance Management: Admins can view and manage attendance records for all employees.
-
Leave Approval: Admins can view and approve leave applications submitted by employees who report to them.
-
Apply Leave for Employees: Admins can apply leave on behalf of their reporting employees.
-
Messages: Admins can send messages to employees for a particular date from Admin Attendance.
-
Compensatory Leave Approval: Admins can Approve/Reject compensatory leaves applied by employees.
💻 Technologies Used
-
Backend: Laravel, PHP
-
Frontend: Bootstrap 5, jQuery, JavaScript
-
Database: MySQL
-
API Testing: Postman
📥 Installation
-
Clone the Repository
git clone https://github.com/obiwan04kanobi/HR-Management-System.git
cd HR-Management-System/WebApp
-
Install Dependencies
composer install
npm install
-
Configure Environment
- Copy the
.env.example
to .env
- Update the
.env
file with your database and mail server details.
-
Run Migrations
php artisan migrate
-
Run the Application
php artisan serve
📋 Usage
Authentication
- Employees and Admins can log in using their email addresses.
- Passwords are stored securely using encryption.
Navigation
-
Dashboard: The landing page for logged-in users.
-
Attendance: Displays the attendance records for the logged-in employee.
-
Admin Attendance: Accessible only to admins, shows the attendance records for all employees.
-
Leave Application: Form for employees to apply for leave.
-
Approve Leave: Accessible only to admins, allows leave approval for reporting employees.
-
Reset Password: Allows users to reset their passwords.
Admin Privileges
- Admins are determined based on the
report_to
attribute in the employees' data.
- Only admins can access the "Admin Attendance" and "Approve Leave" sections.
🫂 Contributing
We welcome contributions from the community. Please follow these steps to contribute:
- Fork the repository.
- Create a new branch with a descriptive name.
git checkout -b feature/your-feature-name
- Make your changes and commit them with clear messages.
git commit -m "Add feature X"
- Push to your forked repository.
git push origin feature/your-feature-name
- Open a Pull Request and describe your changes in detail.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgements
-
Laravel : The PHP framework for web artisans.