A comprehensive, web-based application for managing employee records within a company.
This system allows an administrator to handle the complete employee lifecycle — from adding new hires to managing their departure through termination or a structured resignation workflow.
The Employee Management System (EMS) is a practical project built using Core PHP and MySQL to serve as a central hub for employee information. It features a dynamic dashboard where administrators can view, filter, and manage personnel.
The standout feature is the custom auto-generated Employee ID (e.g., sz2025IT001), created based on:
- Company Prefix
- Joining Year
- Department
This structured ID provides a scalable and informative way to identify employees.
The system is designed to be a learning tool for understanding fundamental web development concepts like:
- CRUD operations
- Database management
- Implementing business logic in a web application
- Admin Dashboard: Centralized view of all employees with status indicators.
- Status Filtering: Filter employees by status — Active, Resigned, Terminated, Resignation Pending.
- Add Employee: Dedicated form to add new employees with auto-generated IDs.
- Custom Auto-ID Generation: Automatically creates a unique, structured Employee ID.
- Edit Employee: Update details of existing employees.
- Termination Management: Directly terminate active employees.
- Resignation Workflow: Multi-step resignation process:
- Admin initiates resignation request.
- Status changes to Resignation Pending.
- Admin approves/rejects request, completing the workflow.
- Frontend: HTML, CSS
- Backend: Core PHP
- Database: MySQL
- Server: XAMPP / WAMP
Follow these steps to set up and run the project locally.
- Install XAMPP or any local server environment that supports PHP & MySQL.
-
Clone the Repository
# Navigate to your htdocs folder cd C:/xampp/htdocs # Clone the repository git clone https://github.com/your-username/employee-management-system.git # Navigate into the project folder cd employee-management-system
-
Start Your Local Server
- Open the XAMPP Control Panel.
- Start Apache and MySQL.
-
Create and Set Up the Database
- Open phpMyAdmin.
- Click New → Create a new database named
ems_db. - Go to the Import tab.
- Choose the
database.sqlfile from the project. - Click Go to import tables and sample data.
-
Configure Database Connection
Editconfig.phpif needed:// config.php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "ems_db";
(Update username/password if your MySQL setup differs.)
-
Run the Application
Open your browser and visit:http://localhost/employee-management-system/You should now see the Employee Management Dashboard.
employee-management-system/
│
├── index.php # Main dashboard with employee list & filters
├── config.php # Database connection file
├── add_employee.php # Form to add new employees
├── add_employee_process.php # Backend script for adding employees + ID generation
├── edit_employee.php # Form to edit employee details
├── update_employee_process.php # Updates employee records
├── terminate_employee.php # Handles termination process
├── resign_request.php # Initiates resignation process
├── resign_process.php # Approves/Rejects resignation requests
├── database.sql # Database schema + sample data
└── assets/ # (Optional) CSS, JS, Images
-
Default database credentials:
- User:
root - Password: (blank)
- User:
-
You can customize the employee ID format inside
add_employee_process.php.
This project is open-source and available for learning & development purposes.
You may use, modify, and distribute it with proper attribution.