“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
- 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. Designed using the AdminLTE 3 framework, it provides a modern and intuitive interface. The system is suitable for organizations of all sizes, offering tools for attendance tracking, employee management, payroll generation, and now supporting multi-company functionality, allowing each company to manage its own set of employees, departments, and payroll independently within a single system.
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.
- 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 User 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, including attendance reports.
- Attendance Tracking: Track attendance manually and generate reports for present, late, and absent employees.
- Overtime Tracking: Calculate and track overtime hours automatically for payroll processing.
- Leave & Vacation Management: Organize and manage leave requests 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.
- Leave & Vacation Management: Organize and manage leave requests and vacation tracking in an efficient system.
- Payroll System: Real-time payroll management based on attendance, leaves, and overtime data.
- 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.
- Full-Screen Mode: Enjoy a distraction-free experience with a full-screen option.
- 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, 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.
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.
- leave.js: Manages the leave.
- tax.js: Manages the taxes
- insurance.js: Manages the Insurance
- leave.js: Manages the leave.
- 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.
- attendance settings [Folder] :
absent-policy.js
bounas.js
half-day.js
holidays.js
lateDeduction.js
vacation-balance.js
work-hours.js
working-days.js
F) 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 and company rules
- tax
- insurance
- payrolls
- vacations
- leaves
- bounas
- my-account
G) 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.
- 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.
- LeaveController.php: Processes leave 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.
H) 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 .
- Leave.php: Handles employee leave 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.
I) Sources and Packages - top
- Icons: Font Awesome
- Admin Template: AdminLTE 3
- Framework: Laravel 10
- PDF Export Library: DomPDF
- Excel Export Library: maatwebsite
J) Installation Guide - top
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:
- 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
J) User Guide - top
After make an account:
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.
Now, You’re Ready!
Now you can start to manage attendance, estimate payroll, track leaves, and perform other HR operations efficiently.