Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/obiwan04kanobi/hr-management-system

My Internship Project as a Summer Intern at Lava International Ltd
https://github.com/obiwan04kanobi/hr-management-system

authentication-backend human-resources-management-system internship-project laravel-framework lava-international mysql php8 xampp

Last synced: 4 months ago
JSON representation

My Internship Project as a Summer Intern at Lava International Ltd

Awesome Lists containing this project

README

        

# 💼 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](https://github.com/user-attachments/assets/01a7ff56-65b3-4fe1-90cd-71d3c43c813a)

## ✨ 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


Postman
Bootstrap
JavaScript
php
Laravel
MySQL

- **Backend**: Laravel, PHP
- **Frontend**: Bootstrap 5, jQuery, JavaScript
- **Database**: MySQL
- **API Testing**: Postman

## 📥 Installation

1. **Clone the Repository**
```sh
git clone https://github.com/obiwan04kanobi/HR-Management-System.git
cd HR-Management-System/WebApp
```

2. **Install Dependencies**
```sh
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**
```sh
php artisan migrate
```

5. **Run the Application**
```sh
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.
```sh
git checkout -b feature/your-feature-name
```
3. Make your changes and commit them with clear messages.
```sh
git commit -m "Add feature X"
```
4. Push to your forked repository.
```sh
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](LICENSE) file for details.

## Acknowledgements

- **[Laravel](https://laravel.com/)** : The PHP framework for web artisans.