The goal of this project is to develop an HRMS (Human Resource Management System) module that enables companies to efficiently manage employees, departments, and organizational hierarchies. The system is built using Laravel 11, following best practices and leveraging suitable packages to simplify role management, document handling, attendance tracking, and notifications.
- Framework: Laravel 11
- Database: MySQL
- Frontend: React.js / Axios
- Authentication: Laravel Breeze
- Tools: Postman
- Company Account Creation: Each company can register, log in, and manage employees.
- Authentication: Secure login system using Laravel Breeze/Jetstream.
- Role and Permission Management:
- Admin: Full system control.
- HR: Manages employees and managers.
- Manager: Manages employees within their department.
- Employee: Limited access to personal information.
- User Profile Management:
- Users can update their profile information (photo, email, phone, etc.).
- Integration with Laravel Media Library for profile pictures and document uploads.
- Employee Profiles:
- Add, update, and delete employees.
- Employee details: Name, email, phone, date of birth, contract type, salary, status.
- Career Tracking:
- Track salary raises, promotions, and training.
- Contract Management:
- Store and manage contract types (CDI, CDD, Internship, Freelance).
- Upload and manage employment documents.
- Department Creation:
- Create and manage company departments.
- Assign department heads and employees.
- Hierarchy Definition:
- Set hierarchical relationships between employees.
- Dynamic Organizational Chart:
- Visualize and interact with the company hierarchy using Livewire.
- Drag-and-drop functionality for structure adjustments.
- Annual Leave:
- Employees earn 18 leave days after one year of service.
- Before one year, they earn 1.5 leave days per month.
- After one year, an additional 0.5 days are granted annually.
- Leave Requests:
- Employees submit leave requests at least one week in advance.
- Approval process: Manager ➝ HR.
- Managers only require HR approval.
- Leave Balance Consultation:
- Employees can check their available leave balance anytime.
- Recovery Days:
- Extra workdays can be converted into recovery days.
- Requests are validated by HR.
- Employees can view their recovery balance.
- PHP 8.1 or later
- Composer
- Node.js & npm
- MySQL
- Laravel CLI
- Clone the repository:
git clone https://github.com/aliyara290/HRMS-project.git cd hrms-project - Install dependencies:
composer install npm install && npm run dev - Configure the environment:
- Copy the
.env.examplefile and rename it to.env. - Update database credentials in the
.envfile.
- Copy the
- Generate application key:
php artisan key:generate
- Run database migrations and seeders:
php artisan migrate --seed
- Start the application:
php artisan serve
- Register a company account and log in.
- Set up user roles and permissions.
- Manage employees, departments, and hierarchy.
- Handle leave requests and recovery days.
- Track employee contracts and career progress.