A user-friendly web application for managing human resources operations including employee records, attendance, leave requests, payroll, and company announcements.
This HR system helps companies manage their workforce efficiently:
- Employee Database - Store and organize staff information
- Department Management - Group employees by departments
- Time Tracking - Record attendance with automatic late/overtime detection
- Leave Management - Handle leave applications and approvals
- Payroll Processing - Calculate salaries with Philippine statutory deductions
- Announcements - Post and track company communications
- Profile Updates - Manage profile change requests with approval workflow
- Web server (XAMPP, WAMP, or MAMP)
- PHP 5.6 or newer
- MySQL database
1. Download and Extract
- Extract to your web server folder:
- XAMPP:
C:/xampp/htdocs/ - WAMP:
C:/wamp64/www/ - Linux:
/var/www/html/
- XAMPP:
2. Create Database
- Open phpMyAdmin at
http://localhost/phpmyadmin - Create database named
hr_system - Import
database/hr_system.sql
3. Configure
Edit application/config/database.php:
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'hr_system',Edit application/config/config.php:
$config['base_url'] = 'http://localhost/hr-management-system/';4. Access
- Open:
http://localhost/hr-management-system/ - Login with default credentials below
| User Type | Username | Password |
|---|---|---|
| Admin | admin | admin |
| Employee | employee | employee |
Full system control: manage employees, approve leave, generate payroll, post announcements, approve profile changes.
Limited access: clock in/out, apply for leave, view salary slips, read announcements, request profile changes.
Add and organize employee information including personal details, department, salary, and profile photos.
- Employees clock in/out (standard: 8:00 AM - 5:00 PM)
- Automatic late detection (grace period: 10 minutes)
- Overtime calculation (work past 6:00 PM)
- Monthly reports and statistics
- Employees submit leave requests with dates and reason
- Admins approve or reject with comments
- Track leave history and status
- Semi-monthly payroll (1st & 2nd cutoff)
- Attendance-based salary calculation
- Overtime pay at 125% rate
- Philippine deductions (SSS, PhilHealth, Pag-IBIG, Tax)
- Automatic deductions for absences and tardiness
Post company-wide memos with unread badges, read tracking, and automatic notifications.
Staff submit profile change requests that require admin approval before being applied.
- Check MySQL is running
- Verify credentials in
application/config/database.php - Ensure database was imported
- Check base URL in
application/config/config.php - Verify
.htaccessfile exists - Enable Apache
mod_rewrite
- Create
uploads/profile-pic/folder - Set permissions:
chmod -R 777 uploads/
- Check CAPS LOCK is off
- Verify database was imported correctly
- Clear browser cookies
hr-management-system/
βββ application/
β βββ controllers/ # Business logic
β βββ models/ # Database operations
β βββ views/ # UI templates
β βββ config/ # Configuration
βββ assets/ # CSS, JavaScript, images
βββ uploads/ # Uploaded files
βββ database/ # SQL setup file
βββ system/ # CodeIgniter core
- Change default passwords immediately
- Use strong passwords (8+ characters)
- Enable HTTPS for production
- Regular database backups
- Set proper file permissions
- Update PHP and MySQL regularly
- Backend: CodeIgniter 3.1.11, PHP 5.6+
- Frontend: AdminLTE 2.4, Bootstrap 3.3.7
- Database: MySQL/MariaDB
- Libraries: jQuery, Chart.js, DataTables
application/config/routes.php- URL routingapplication/config/database.php- Database settingsapplication/controllers/- Application logicapplication/models/- Database queriesapplication/views/- HTML templates
- Create controller in
application/controllers/ - Create model in
application/models/ - Create view in
application/views/ - Follow MVC pattern and existing structure
- π§ Email notifications
- π± Mobile app
- π Document management
- π Advanced analytics
- π Multi-language support
We welcome contributions! Here's how you can help:
-
Fork the Repository
- Click the "Fork" button on GitHub
- Clone your fork:
git clone https://github.com/paulaxisabel/hr-management-system.git
-
Create a Feature Branch
git checkout -b feature/YourFeatureName
-
Make Your Changes
- Follow the existing code style
- Test your changes thoroughly
- Add comments for complex code
-
Commit Your Changes
git add . git commit -m "Add: Brief description of your changes"
-
Push to Your Fork
git push origin feature/YourFeatureName
-
Create a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Describe your changes clearly
- Write clean, readable code
- Follow CodeIgniter coding standards
- Test on both admin and employee accounts
- Update documentation if needed
- One feature per pull request
Found a bug? Create an issue with:
- Description of the problem
- Steps to reproduce
- Screenshots (if applicable)
- Your PHP/MySQL versions
Have an idea? Open an issue with the "enhancement" label and describe your feature request.
- Email: [email protected]
- GitHub Issues: Report bugs or request features
- Portfolio: paula.vercel.app
MIT License - Free to use, modify, and distribute for personal and commercial projects.
Created by: Paula Isabel Signo (@paulaxisabel)
Special Thanks: AdminLTE, CodeIgniter Community, Bootstrap, Font Awesome
Made with β€οΈ by paula