HR-Management-System

My Internship Project as a Summer Intern at Lava International Ltd

MIT License

Stars
0
Committers
2

💼 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

  1. Clone the Repository

    git clone https://github.com/obiwan04kanobi/HR-Management-System.git
    cd HR-Management-System/WebApp
    
  2. Install Dependencies

    composer install
    npm install
    
  3. Configure Environment

    • Copy the .env.example to .env
    • Update the .env file with your database and mail server details.
  4. Run Migrations

    php artisan migrate
    
  5. 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:

  1. Fork the repository.
  2. Create a new branch with a descriptive name.
    git checkout -b feature/your-feature-name
    
  3. Make your changes and commit them with clear messages.
    git commit -m "Add feature X"
    
  4. Push to your forked repository.
    git push origin feature/your-feature-name
    
  5. 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.
Related Projects