A comprehensive Java-based payroll management system built using Object-Oriented Programming principles and Swing GUI framework for MotorPH company.
MotorPH Payroll System is a desktop application designed to streamline employee management, attendance tracking, leave management, and payroll processing. The system provides role-based access control with different interfaces for employees and administrators.
- Juan Carlos Miguel Basa
- Charles Mikael Medel
- Mikko Jerome Bautista
- Frances Balgos
- Clark Anton Juan Diaz
- Secure login system with password hashing
- Role-based access control (Employee/Administrator)
- Session management for logged-in users
- Complete employee profile management
- Employee records viewing and editing
- Address and contact information management
- Employment status tracking
- Real-time attendance tracking with time in/out
- Leave request submission and approval workflow
- Vacation Leave (VL) and Sick Leave (SL) balance tracking
- Attendance status monitoring (Present, Absent, Late, etc.)
- Overtime hours calculation
- Automated payroll calculation based on attendance
- Government contributions computation (SSS, PhilHealth, Pag-IBIG)
- Tax calculations and deductions
- Allowances management (Rice, Phone, Clothing)
- Payroll report generation
- SSS (Social Security System) rate calculations
- PhilHealth contribution computation
- Pag-IBIG fund calculations
- Tax (BIR) withholding tax computation
OOP_MotorPH- Main application entry pointEmpDetails- Base employee information classEmpSalaryDetails- Employee salary and benefits managementEmpAttLeave- Attendance and leave trackingEmpUserSession- Session management (Singleton pattern)PayrollProcessor- Interface for payroll calculations
DatabaseHandler- Main database operationsDatabaseConfig- Database connection configurationDataMigration- CSV to database migration utilitiesCSVHandler- CSV file operations
frm_Login- Authentication interfacefrm_EmpProfile- Employee profile managementfrm_EmployeesRecords- Employee records administrationfrm_EmployeesAttLeave- Attendance & leave managementfrm_EmployeesSalary- Salary and statutory managementfrm_EmployeesPayrollProcess- Payroll processing interface
- Language: Java 23
- GUI Framework: Java Swing
- Database: MySQL 8.0
- Build Tool: Apache Ant
- IDE: NetBeans IDE
- External Libraries:
- MySQL Connector/J 8.0.33
- JCalendar 1.4 (Date picker component)
AOOP - MotorPH from OOP/
├── src/oop_motorph/ # Source code
│ ├── *.java # Java class files
│ ├── *.form # NetBeans form files
│ ├── img/ # Application images
│ └── resources/ # CSV data files
├── lib/ # External JAR libraries
│ ├── mysql-connector-j-8.0.33.jar
│ └── jcalendar-1.4.jar
├── build/classes/ # Compiled class files
├── nbproject/ # NetBeans project files
├── run.bat # Windows batch execution script
└── README.md # Project documentation
- Java Development Kit (JDK) 23 or higher
- MySQL Server 8.0 or higher
- Git (for cloning the repository)
git clone https://github.com/rapidotech/AOOP.git
cd "AOOP/AOOP - MotorPH from OOP"- Install and start MySQL Server
- Create a new database for the application
- Configure database connection in
DatabaseConfig.java - Run
DataMigration.javato populate initial data from CSV files
Ensure the following JAR files are in the lib/ directory:
mysql-connector-j-8.0.33.jar- MySQL database connectivityjcalendar-1.4.jar- Date picker components
Using the provided build script:
# Windows
run.bat
# Or compile manually
javac -d build/classes -cp "lib/*" src/oop_motorph/*.javaDouble-click run.bat or execute in command prompt:
run.batjava -cp "build/classes;lib/jcalendar-1.4.jar;lib/mysql-connector-j-8.0.33.jar" oop_motorph.OOP_MotorPH# Build the project
Ctrl+Shift+P -> "Tasks: Run Task" -> "javac build AOOP"
# Run the application
java -cp "build/classes;lib/*" oop_motorph.OOP_MotorPHThe system includes pre-configured user accounts for testing:
- For Employee login: username: 10003 password: 1234 For HR Admin login: username: 10002 password: 1234
- Different roles available: Employee, HR Admin
- Login with your employee credentials
- View Profile - Check personal information and employment details
- Attendance & Leave - Submit leave requests and view attendance records
- My Records - Access personal attendance and leave history
- Salary Information - View salary details and statutory contributions
- Employee Management - Add, edit, and manage employee records
- Attendance Monitoring - View and approve attendance/leave requests
- Payroll Processing - Calculate and process employee payrolls
- Reports Generation - Generate various payroll and attendance reports
- Object-Oriented Design with proper inheritance and polymorphism
- Singleton Pattern for user session management
- Interface Implementation for payroll processing standardization
- Model-View separation with dedicated form classes
- Data validation and error handling
- Modern UI design with hover effects and styling
The application includes comprehensive error handling and validation:
- Input validation for all form fields
- Database connection error handling
- Date and time format validation
- Role-based access verification
MotorPH Payroll System - Streamlining payroll management with modern Java technology.