Here is a Servlet-only HRM System Functional Requirements Guide, suitable for a Java Servlet
project where:
Servlets handle business logic
Responses can be HTML generated in Servlets, JSON (API-based), or frontend handled
separately
Backend focus (good for modern teaching)
Students are required to fully implement modules 1 to 4.
Implementation of any module from 5 up to 13 is optional; students may choose
one or more of these modules based on their interest and capability.
If you want it more formal (for university documents), use this:
Implementation of Functional Requirements 1 through 4 is mandatory.
Functional Requirements 5 to 13 are optional, and students may implement any
subset of these based on their interest and project scope.
Or a student-friendly version:
You must implement features 1–4.
Features 5–13 are optional and can be implemented if you want to extend your
project.
HRM System – Functional Requirements
(Servlet-Only)
Technology Stack:
Java Servlets
JDBC
MySQL / PostgreSQL
Apache Tomcat
(Optional frontend: HTML/CSS/JS or REST client)
1. System Overview
The Human Resource Management (HRM) System is a web-based backend application
developed using Java Servlets to manage employee records, attendance, leave, payroll, and user
roles.
The system exposes functionalities via Servlet endpoints and does not use JSP for presentation.
2. User Roles
1. Administrator
2. HR Manager
3. Employee
Each role has controlled access to system functionalities.
3. Authentication & Authorization
3.1 User Login
The system shall authenticate users via a servlet endpoint.
Users shall provide:
Username
Password
Credentials shall be verified from the database.
On success, a session token shall be created.
3.2 Role-Based Access Control
The system shall restrict endpoints based on user roles.
Unauthorized access shall return:
HTTP 403 (Forbidden)
3.3 Logout
The system shall invalidate the active session.
Session data shall be cleared securely.
4. Employee Management
4.1 Create Employee
The system shall allow Admin/HR to create employee records.
Employee data includes:
Employee ID
Full Name
Gender
Email
Phone
Address
Department ID
Job Title
Hire Date
Salary
4.2 Read Employee Information
The system shall return employee details via servlet response.
Employees can view only their own profile.
Admin/HR can view all employees.
4.3 Update Employee
Admin/HR shall update employee records.
Changes shall be persisted in the database.
4.4 Delete Employee
Only Admin shall delete employee records.
Deletion confirmation shall be required.
5. Department Management
The system shall allow Admin to:
Create departments
Update department details
Remove departments
Employees shall be assigned to one department.
6. Attendance Management
6.1 Record Attendance
HR/Admin shall record daily attendance.
Attendance statuses:
Present
Absent
Leave
6.2 View Attendance
Employees shall retrieve their attendance history.
HR/Admin shall retrieve attendance for all employees.
7. Leave Management
7.1 Apply for Leave
Employees shall submit leave requests via servlet endpoints.
Required fields:
Leave type
Start date
End date
Reason
7.2 Leave Approval
HR/Admin shall approve or reject leave requests.
Leave status shall be updated accordingly.
7.3 Leave History
Users shall retrieve leave history records.
8. Payroll Management
8.1 Salary Configuration
The system shall store salary components:
Basic salary
Allowances
Deductions
8.2 Payroll Generation
HR/Admin shall generate payroll per employee per month.
Payroll records shall be stored and retrievable.
9. Reports
The system shall generate reports via servlet responses:
Employee reports
Attendance reports
Leave reports
Payroll reports
Reports may be returned as:
JSON
CSV
PDF (optional advanced)
10. Input Validation & Error Handling
The system shall validate all incoming request parameters.
The system shall return appropriate HTTP status codes:
400 – Bad Request
401 – Unauthorized
403 – Forbidden
500 – Internal Server Error
11. Session Management
The system shall manage sessions using:
HttpSession or
Token-based authentication (optional)
Sessions shall expire after inactivity.
12. Logging & Auditing (Optional)
The system shall log:
Login attempts
Data modifications
Errors
Logs shall be stored for auditing.
13. API Endpoint Examples (For Students)
POST /api/auth/login
POST /api/auth/logout
POST /api/employees
GET /api/employees
GET /api/employees/{id}
PUT /api/employees/{id}
DELETE /api/employees/{id}
POST /api/attendance
GET /api/attendance
POST /api/leave
PUT /api/leave/{id}/approve
PUT /api/leave/{id}/reject
POST /api/payroll/generate
GET /api/payroll/{employeeId}
14. Project Evaluation Criteria (Helpful for You)
You can assess students based on:
Proper use of Servlets
Clean JDBC operations
Role-based security
HTTP status usage
Database normalization
Code organization (DAO, Service, Servlet)