Tangerine HRM — product requirements
Tangerine HRM is an HR suite with an employee self-service (ESS) role and an HR admin role. It covers sign-in, the employee master list (PIM) with Add Employee, a company Directory, My Info, leave application and listing, a weekly timesheet, claim requests and a Buzz newsfeed. Screens follow the classic /web/index.php/<module>/<screen> URL layout and confirm writes with toasts.
Problem. Employees and HR staff need everyday HR tasks to work the same way every time: validation must be inline and specific, and anything confirmed with a success message must really be saved and visible afterwards.
Users
- Employee (ESS) — Apply for leave, check personal details, view the timesheet and read the newsfeed.
- HR admin — Add employees with unique ids and find any employee quickly.
Goals
- A "Successfully Saved" toast always means the data was stored and can be found again.
- Employee ids are unique; searching by id returns exactly that employee.
- Counts shown to the user equal the records actually listed.
- Overlapping leave cannot be submitted.
Out of scope
- Leave approval by a supervisor
- Payroll and salary maintenance
- Recruitment and Performance modules
- File upload storage
Contents
Login and logout
Classic login page with client-side and server-side validation.
- Login page shows Username, Password, Login and a "Forgot your password?" link, both fields empty, password masked
- URL contains "/dashboard/index"; header shows "Jacob Palmer" for the seeded employee
- Menu: About, Support, Change Password, Logout
- After Logout the URL contains "/auth/login", fields are empty; opening the Dashboard URL returns to Login
- "Required" under Username and under Password; URL stays on /auth/login
- Alert "Invalid credentials"; still on the Login page
- Returning to My Info shows Personal Details without a new login
PIM employee records
Employee list, search and Add Employee (admin).
- "Successfully Saved" toast, then the new employee's Personal Details opens
- The employee appears in Employee List when searched by name, under "(N) Records Found"
- "Employee Id already exists" under the field; no toast; stays on Add Employee
- Id 0422: "(1) Records Found" with Jacob Palmer only
Directory
Cards for every active employee.
- "(46) Records Found"
- Job Title "QA Engineer" narrows the cards and count; Reset restores 46
- Footer reads "Tangerine HRM OS 5.7"
- 46 cards for "(46) Records Found"
My Info
Employee self-service profile.
- Personal Details, Contact Details, Emergency Contacts, Dependents, Immigration, Job, Salary, Report-to, Qualifications, Memberships
- Headings "Contact Details", "Emergency Contacts", "Dependents", "Job Details", "Qualifications", "Memberships"; record tabs show an "Assigned ..." list
- Jacob Palmer; Employee Id 0422 disabled
- Nationality Singaporean, Marital Status Single, Date of Birth 1993-05-23, Gender Male
- Save button and Attachments section with "+ Add"
Leave
Apply for leave and review requests.
- Selecting Annual Leave shows the Leave Balance, e.g. "9.00 Day(s)"; To Date mirrors From Date
- "Successfully Saved" toast
- My Leave lists the date with status "Pending Approval (1.00)"
- Toast "Failed to Submit" and panel "Overlapping Leave Request Found" listing the pending "Moving house" request
- Status chips Pending Approval, Scheduled, Taken; Leave Type "-- Select --"
- Columns Date, Employee Name, Leave Type, Leave Balance (Days), Number of Days, Status, Comments, Actions; no Cancelled row
- No chips: "Required" under the status filter
Timesheet
Weekly timesheet.
- Columns Project, Activity, Mon..Sun with dates, Total
- Current week "Status: Not Submitted" with Edit
- Two weeks back: "Status: Submitted", total 37.50 hours
Claims
Claim request form.
- Event and Currency dropdowns at "-- Select --", Remarks, "* Required", Cancel, Create
- After Cancel: "(1) Records Found"
Buzz newsfeed
Posts with sorting and anniversaries.
- Most Liked: first post is the volunteering-day post (31 Likes)
- Most Recent: selected, newest first
Glossary and rules
| ESS | Employee self-service: a regular employee user. |
|---|---|
| PIM | Personnel information management: the employee master list. |