“Smart HR Management System Documentation” by “Mina Samy” v2.0
Smart HR Management System
Table of Contents
- Overview
- Key Features
- Technologies Used
- CSS Files
- JavaScript Files
- Database
- Blade
- Controller Files
- Model Files
- Sources and Packages
- Installation Guide
- User Guide
A) Overview - top
The Smart HR Management System is a comprehensive, user-friendly solution for streamlining HR processes across multiple organizations. It provides a modern and intuitive interface. The system is suitable for organizations of all sizes, offering tools for attendance tracking, employee management, overtime tracking, deductions, vacations, and payroll generation, and now supporting multi-company functionality, allowing each company to manage its own data independently within a single system. Each company can also configure its own internal policies such as late arrival deduction, half-day rules, working hours, working days, official holidays, and bonus hours, through a dedicated company policy page.
B) Key Features - top
- Multi-Company Support: The system supports multiple companies, enabling independent management of employees, attendance, payroll, and HR data for each organization.
- Company Policy Configuration: Each company can set up its own HR policies, including working hours, working days, official vacations, late arrival deductions, half-day rules, and bonus policies from a dedicated policy management page.
- Admin Interface: A dedicated admin interface is included to create and delete companies, as well as create and remove admin accounts for each company.
- Elegant HR Interface: Modern dashboard with dark mode for eye comfort.
- Charts & Reports: Monthly performance charts showing attendance, absence, vacation data, top employees, and departmental summaries.
- Employee Management: Easily add, edit, and manage employee records. You can also import employees from an Excel sheet and export all records as an Excel file.
- Attendance Tracking: Track attendance manually and generate reports for present, late, and absent employees.
- Biometer Excel: Import the biometric Excel sheet, and it will be saved in the database.
- Overtime Tracking: Calculate and track overtime hours automatically for payroll processing.
- Deductions & Vacation Management: Organize and manage Deductions and vacation tracking in an efficient system.
- Tax & Insurance: Handle tax & insurance with customizable rules. Each company can enable or disable tax & insurance impact on salary processing based on its policy.
- Payroll System: Real-time payroll management based on attendance, deductions, and overtime data, with company-specific rules applied.
- Payslip Report: Generate payslip to employee and apility to print it and download it as pdf file.
- Fully Responsive: Seamless operation across mobile, tablet, and desktop devices.
- Dark Mode: Switch to dark mode for a sleek look and reduced eye strain during extended use.
- Calendar Integration: Integrated calendar to view key HR dates and deadlines easily.
- Secure Login System: Robust authentication with easy logout functionality to ensure account security.
- Easy Customization: Built with Laravel, allowing for straightforward extensions and customizations to fit business needs.
C) Technologies Used - top
- Backend: Laravel 10 framework.
- Frontend: HTML5, CSS3, Bootstrap, AJAX, JavaScript.
- Database: phpMyAdmin.
- Icons: Font Awesome for icons.
D) CSS Files – Top
The system utilizes multiple CSS files to maintain structure and ensure a consistent style:
Path: public/dist/css
- calendar.css: Styles the calendar interface and related components.
- darkmode.css: Applies styling adjustments for the dark mode throughout the system.
- mina.css: Provides general styles for the login page.
- payrollcreate.css: Handles the styling for payroll creation forms and layouts.
- account.css: Handles the styling of my account page.
- admin.css: for styling the admin interface.
- payslip.css: for styling the payslip.
E) JavaScript Files - top
Path: public/dist/js
- attendance.js: Handles attendance-related visualizations .
- bonus.js: Manages the bonus .
- Chart.js: Core library used for rendering charts in the dashboard.
- darkmode.js: Manages dark mode functionality for charts and other elements.
- dashboardlist.js: Controls the display and interactions of dashboard lists.
- deduction.js: Manages the deductions
- tax.js: Manages the taxes
- insurance.js: Manages the Insurance
- payroll.js: Manages the payroll.
- payrollcreate.js: Supports visual elements during payroll creation.
- taxcreate.js: Supports visual elements during tax creation.
- insurancecreate.js: Supports visual elements during insurance creation.
- todo.js: Manages task-related charts in the dashboard.
- vacation.js: Manages the vacation.
- eye.js: for eye toggle in the login and register page.
- employee.js: for the section of role that is located in add employees or HR.
- payslip.js: for the section of role that is located in payslip of employees.
- attendance settings [Folder] :
bounas.js
half-day.js
holidays.js
lateDeduction.js
vacation-balance.js
work-hours.js
working-days.js
F) Database - top
This project uses a structured MySQL database, designed and managed via phpMyAdmin. It consists of interconnected tables, following relational database principles to ensure data integrity and scalability. The schema supports core functionalities such as user management, roles, employee data, attendance tracking, payroll, and more.
Tap here to open the ERD diagram
G) Blade - top
Path: resources/views
(Files)
- home.blade.php
- register.blade.php
- login.blade.php The login page at the start of the system which navigates to the admin interface or HR interface
- admin_home.blade.php The home screen of admin interface
- _message.blade.php
Path: resources/views/admins
(Folders)
- admin folder inside this admin_register file and index file (index for show and delete)
- companies folder inside this company_register file and index file (index for show and delete)
Path: resources/views/backend
(Folders) inside the folder the files of CRUD operations of the hr interface
- dashboard ->calender,charts,list,ToDo
- employees
- managers
- departments
- jobss
- job-history
- layouts
- attendance ->include important file like attendanceseetings for company rules and biometric-excel
- tax
- insurance
- payrolls
- vacations
- deductions
- bounas
- my-account
H) Controller Files - top
Path: app/Http/Controllers
- AdminController.php: Manages view and delete admins.
- CompanyController.php: Manages view and delete companies
- AuthController.php: Manages authentication system. of both admin and hr
- DashboardController.php: Manages Dashboard and the visual charts.
- CalendarController.php: Manages the Calendar in the navbar .
- AttendanceController.php: Manages attendance-related logic.
- AttendanceImportController.php: to import the biometric excel sheet.
- AttendanceRulesController.php: Manages the rules of the company, like attendance rules, vacation rules.
- PayrollController.php: Handles payroll calculations and exports.
- VacationController.php: Manages employee vacations and its CRUD operations
- ChartsController.php: Manages the visual charts in the navbar .
- EmployeeeController.php: Handles user-related actions and its CRUD operations
- JobController.php: Manages the jobs and its CRUD operations .
- JobHistoryController.php: Manages the job history and its CRUD operations.
- DepartmentController.php: Manages departmental information and its CRUD operations.
- ManagerController.php: Manages managers information and its CRUD operations.
- DeductionController.php: Processes deduction requests and its CRUD operations.
- TaxController.php: Processes Tax requests and its CRUD operations.
- InsuranceController.php: Processes Insurance requests and its CRUD operations.
- OverTimeController.php: Manages bonus calculations and distributions and its CRUD operations.
- ToDoController.php: Manages the creation, updating, and deletion of to-do tasks.
- MyAccountController.php: Handles the account settings, updating.
I) Model Files - top
models used for the search functionality and the retrieving of data based on company_id and paginate of the pages
Path: app/Models
- Admin.php: Represents admin data.
- Company.php: Represents company data and retrieving options.
- User.php: Represents employee data.
- Manager.php: Represents manager data.
- Department.php: Represents different departments within the organization.
- Job.php: Represents different jobs within the organization.
- History.php: Represents job history within the organization.
- Attendance.php: Tracks employee attendance records.
- AttendanceRule.php: Tracks attendance rules and company settings .
- Deduction.php: Handles employee deductions requests.
- Tax.php: Handles employee Tax requests.
- Insurance.php: Handles employee Insurance requests.
- Vacation.php: Manages vacation data for employees.
- Time.php: Stores overtime hours (bonus) for payroll processing.
- Payroll.php: Stores payroll-related records.
- Task.php: Manages task-related entries for the to-do list feature.
J) Sources and Packages - top
- Icons: Font Awesome
- Admin Template: AdminLTE 3
- Framework: Laravel 10
- PDF Export Library: DomPDF
- Excel Export Library: maatwebsite
K) Installation Guide for (localhost) - top
Note: If you're installing the system on a live server (not localhost), you don't need all of these steps.
Follow these clear, step-by-step installation instructions to set up your HR system on localhost:
- Download the Source Code: Download the ZIP file containing the source code of the HR system.
- Set Up Environment:
- Download Xampp or MAMP : for use localhost.
- Create a Database: Use your preferred database management tool (e.g., phpMyAdmin) to create a new database for the application.
- Configure (open) the .env File: Locate the .env file in the source code and update the database name and other (database credentials).
- Install Dependencies:
Open your terminal of the project and run the following command:
composer install
if you don't have it
- Run Migrations and Seeders:
After installing dependencies, execute the following command in the command line interface (CLI) of the project:
php artisan migrate --seed
- Serve the Application:
Start the Laravel development server by writing the command in the project terminal:
php artisan serve
- Access the Application to start register:
Open your web browser and navigate to your localhost:
like: http://127.0.0.1:8000
L) User Guide - top
After Login:
1. Add the Managers of the Company
2. Add the Departments
3. Add the Jobs of the Company
4. Add Employees and HR
Once departments and jobs are set up, you can proceed to add employees and HR personnel. Assign each employee to a specific job and department.
5. Add your company policy in attendance settings
Now, You’re Ready!
Now you can start to manage attendance, estimate payroll, track deductions, and perform other HR operations efficiently.