“Smart HR Management System Documentation” by “Mina Samy” v1.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
A) Overview - top
The Smart HR Management System is a comprehensive, user-friendly solution for streamlining HR processes. 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, and payroll generation.
B) Key Features - top
- 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.
- 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.
E) JavaScript Files - top
The system includes three main JavaScript files:
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.
- payroll.js: Manages the payroll.
- payrollcreate.js: Supports visual elements during payroll creation.
- todo.js: Manages task-related charts in the dashboard.
- vacation.js: Manages the vacation.
F) Blade - top
Path: resources/views
(Files)
- home.blade.php
- welcome.blade.php
- register.blade.php
- login.blade.php
- _message.blade.php
Path: resources/views/backend
(Folders)
- dashboard.blade.php ->calender,charts,list,ToDo
- employees.blade.php
- managers.blade.php
- departments.blade.php
- jobss.blade.php
- job-history.blade.php
- layouts.blade.php
- attendance.blade.php
- payrolls.blade.php
- vacations.blade.php
- leaves.blade.php
- bounas.blade.php
- my-account.blade.php
G) Controller Files - top
Path: app/Http/Controllers
- AuthController.php: Manages authentication system.
- DashboardController.php: Manages Dashboard and the visual charts.
- CalendarController.php: Manages the Calendar in the navbar .
- AttendanceController.php: Manages attendance-related logic.
- PayrollController.php: Handles payroll calculations and exports.
- VacationController.php: Manages employee vacations and leave.
- ChartsController.php: Manages the visual charts in the navbar .
- EmployeeeController.php: Handles user-related actions, such as registration and profile management.
- JobController.php: Manages the jobs .
- JobHistoryController.php: Manages the job history.
- DepartmentController.php: Manages departmental information and employee assignments.
- ManagerController.php: Manages managers information.
- LeaveController.php: Processes leave requests and maintains leave records.
- OverTimeController.php: Manages bonus calculations and distributions.
- ToDoController.php: Manages the creation, updating, and deletion of to-do tasks.
- MyAccountController.php: Handles the account settings, updating.
H) Model Files - top
Path: app/Models
- 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.
- Leave.php: Handles employee leave 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:
- 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 the .env File: Locate the .env file in the source code and update the database name and other relevant environment variables (database credentials).
- Install Dependencies:
Open your terminal and navigate to the project directory, then run the following command:
composer install
- 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 with:
php artisan serve
- Access the Application:
Open your web browser and navigate to:
http://127.0.0.1:8000
- Register New Member: After accessing the application, make sure to register a new member, then log in.