v1.0.0 - Initial Release
SMART Goals
Specific:
Develop a web application that records employee check-in and check-out times, as well as break durations in real time, enabling accurate tracking of overtime and undertime hours.
Measurable:
- Allow users to create groups and invite others to join.
- Record working hours (check-in, check-out), and break times (break-start, break-end), along with the user's photo and GPS coordinates (latitude and longitude) for each activity.
- Generate workhour reports showing each employee’s total working hours, break durations and net working time.
- Generate attendance reports that include each employee’s photo and GPS location for every activity (check-in, check-out, break-start, break-end), enabling administrators to verify attendance records when needed.
- Support access and usage on both Android and iOS devices through a responsive web application.
Achievable:
- The application can be developed using established web technologies and location-based services.
- Features such as attendance recording, break tracking, GPS location capture, group management, and overtime/undertime calculation can be implemented using readily available frameworks and infrastructure within the project's scope.
Relevant:
The application provides a reliable audit trail of employee attendance and working hours by recording check-in, check-out, break activities, and location data in real time. This ensures that attendance records can be verified and reviewed when needed, improving data accuracy, accountability, and compliance with organizational policies.
Time Bound:
October 2026
Sitemap
1. Auth
User authentication and access control features to secure the application.
1.1. Signup
Allows new users to create an account using email and password.
- Path:
/signup
Scenarios:
| 1.1.S Success Scenarios |
|---|
| 1.1.S1. User can sign up successfully. |
1.2. Verify Email
Sends a verification email to confirm the user's email address.
- Path:
/verify-email
Scenarios:
| 1.2.S Success Scenarios |
|---|
| 1.2.S1. User can verify email successfully. |
| 1.2.F Failed Scenarios |
|---|
| 1.2.F1. Email verification fails when required fields are empty. |
| 1.2.F2. Email verification fails when verification code is invalid. |
1.3. Signin
Enables registered users to log in to the application.
- Path:
/signin
Scenarios:
| 1.3.S Success Scenarios |
|---|
| 1.3.S1. User can sign in successfully. |
| 1.3.F Failed Scenarios |
|---|
| 1.3.F1. Sign in fails when credentials do not match. |
1.4. Signout
Allows users to securely log out of the application.
Scenarios:
| 1.4.S Success Scenarios |
|---|
| 1.4.S1. User can sign out successfully. |
1.5. Forgot Password
Allows users to request a password reset link.
- Path:
/forgot-password
Scenarios:
| 1.5.S Success Scenarios |
|---|
| 1.5.S1. User can request password reset successfully. |
| 1.5.F Failed Scenarios |
|---|
| 1.5.F1. Password reset request fails when required fields are empty. |
| 1.5.F2. Password reset request fails when email is not found. |
1.6. Reset Password
Allows users to create a new password after identity verification.
- Path:
/reset-password
Scenarios:
| 1.6.S Success Scenarios |
|---|
| 1.6.S1. User can reset password successfully. |
2. My Account
User profile management features.
2.1. Update Username
Allows users to update their username.
- Path:
/my-account/username
Scenarios:
| 2.1.S Success Scenarios |
|---|
| 2.1.S1. User can update username successfully. |
2.2. Update Email
Allows users to update their email address.
- Path:
/my-account/email
Scenarios:
| 2.2.S Success Scenarios |
|---|
| 2.2.S1. User can update email successfully. |
| 2.2.F Failed Scenarios |
|---|
| 2.2.F1. Email update fails when user is not authenticated. |
| 2.2.F2. Email update fails when required fields are empty. |
| 2.2.F3. Email update fails when email already exists. |
2.3. Update Password
Allows users to change their account password.
- Path:
/my-account/password
Scenarios:
| 2.3.S Success Scenarios |
|---|
| 2.3.S1. User can update password successfully. |
2.4. Update Profile
Allows users to update their display name and profile picture.
- Path:
/my-account/profile
Scenarios:
| 2.4.S Success Scenarios |
|---|
| 2.4.S1. User can update profile successfully. |
| 2.4.F Failed Scenarios |
|---|
| 2.4.F1. Profile update fails when user is not authenticated. |
| 2.4.F2. Profile update fails when required fields are empty. |
| 2.4.F3. Profile update fails when profile already exists. |
3. Groups
Group management features for organizing users.
3.1. Create Group
Allows users to create a new group.
- Path:
/groups/create
Scenarios:
| 3.1.S Success Scenarios |
|---|
| 3.1.S1. User can create a group successfully. |
| 3.1.F Failed Scenarios |
|---|
| 3.1.F1. Create group fails when user is not authenticated. |
| 3.1.F2. Create group fails when the group name is empty. |
| 3.1.F3. Create group fails when the group name already exists. |
3.2. List Groups
Displays all groups the user owns or has joined.
- Path:
/groups
Scenarios:
| 3.2.S Success Scenarios |
|---|
| 3.2.S1. User can view all groups they own. |
| 3.2.S2. User can view all groups they have joined. |
| 3.2.F Failed Scenarios |
|---|
| 3.2.F1. Read list groups fails when user is not authenticated. |
3.3. Read Group
Displays group information and members.
- Path:
/groups/:id
Scenarios:
| 3.3.S Success Scenarios |
|---|
| 3.3.S1. User can view group details successfully. |
| 3.3.F Failed Scenarios |
|---|
| 3.3.F1. Read group fails when user is not authenticated. |
| 3.3.F2. Read group fails when the user is not a group member. |
3.4. Update Group
Allows group owners to update group information.
- Path:
/groups/:id/edit
Scenarios:
| 3.4.S Success Scenarios |
|---|
| 3.4.S1. Group owner can update group information successfully. |
3.5. Delete Group
Allows group owners to permanently delete a group.
Scenarios:
| 3.5.S Success Scenarios |
|---|
| 3.5.S1. Group owner can delete a group successfully. |
| 3.5.F Failed Scenarios |
|---|
| 3.5.F1. Delete group fails when user is not authenticated. |
| 3.5.F2. Delete group fails when the user is not the group owner. |
3.6. Invite User
Invites users to join a group.
Scenarios:
| 3.6.S Success Scenarios |
|---|
| 3.6.S1. Group owner can invite a user successfully. |
3.7. Accept Invitation
Allows invited users to accept a group invitation.
Scenarios:
| 3.7.S Success Scenarios |
|---|
| 3.7.S1. User can accept a group invitation successfully. |
3.8. Reject Invitation
Allows invited users to reject a group invitation.
Scenarios:
| 3.8.S Success Scenarios |
|---|
| 3.8.S1. User can request to join a group successfully. |
3.9. Remove User
Allows group owner to remove members from a group.
Scenarios:
| 3.9.S Success Scenarios |
|---|
| 3.9.S1. Group administrator can remove a member successfully. |
| 3.9.F Failed Scenarios |
|---|
| 3.9.F1. Remove user fails when user is not authenticated. |
| 3.9.F2. Remove user fails when the user is not a group owner. |
4. Attendances
The Attendance feature allows users to record their daily work activities by checking in when they start work, checking out when they finish work, and recording break start and break end times.
4.1. Check In
Records the start of an employee's working day.
- Path:
/check-in
Scenarios:
| 4.1.S Success Scenarios |
|---|
| 4.1.S1. User can check in successfully. |
4.2. Check Out
Records the end of an employee's working day.
- Path:
/check-out
Scenarios:
| 4.2.S Success Scenarios |
|---|
| 4.2.S1. User can check out successfully. |
4.3. Break Start
Records an employee leaving the workplace during working hours.
- Path:
/break-start
Scenarios:
| 4.3.S Success Scenarios |
|---|
| 4.3.S1. User can record a break start successfully. |
4.4. Break End
Records an employee's return to the workplace after a temporary absence.
- Path:
/break-end
Scenarios:
| 4.4.S Success Scenarios |
|---|
| 4.4.S1. User can record a break end successfully. |
4.5. List Attendances
Displays attendance records for homepage.
- Path:
/
Scenarios:
| 4.5.S Success Scenarios |
|---|
| 4.5.S1. User can view attendance records successfully. |
| 4.5.F Failed Scenarios |
|---|
| 4.5.F1. Read list attendances fails when user is not authenticated. |
5. Workhour Report
Generate workhour reports showing each employee’s total working hours, break durations and net working time.
5.1. Read Workhour Report
Allows users to read workhour report
- Path:
/workhour-report
Scenarios:
| 5.1.S Success Scenarios |
|---|
| 5.1.S1. User can view workhour report successfully. |
| 5.1.S2. User can view workhour report by filtered user and period. |
| 5.1.F Failed Scenarios |
|---|
| 5.1.F1. Read workhour report fails when user is not authenticated. |
5.2. Export Workhour Report
Allows users to export workhour report.
Scenarios:
| 5.2.S Success Scenarios |
|---|
| 5.2.S1. User can export workhour report successfully. |
| 5.2.S2. User can export workhour report by filtered user and period. |
| 5.2.F Failed Scenarios |
|---|
| 5.2.F1. Export workhour report fails when user is not authenticated. |
6. Attendance Report
Generate attendance reports that include each employee’s photo and GPS location for every activity (check-in, check-out, break-start, break-end), enabling administrators to verify attendance records when needed.
6.1. Read Attendance Report
Allows users to read attendance report
- Path:
/attendance-report
Scenarios:
| 6.1.S Success Scenarios |
|---|
| 6.1.S1. User can view attendance report successfully. |
| 6.1.S2. User can view attendance report by filtered user and period. |
| 6.1.F Failed Scenarios |
|---|
| 6.1.F1. Read attendance report fails when user is not authenticated. |
6.2. Export Attendance Report
Allows users to export the report.
Scenarios:
| 6.2.S Success Scenarios |
|---|
| 6.2.S1. User can export attendance report successfully. |
| 6.2.S2. User can export attendance report by filtered user and period. |
| 6.2.F Failed Scenarios |
|---|
| 6.2.F1. Export attendance report fails when user is not authenticated. |