User Story Updated
User Story Updated
✅ Acceptance Criteria:
Users must provide a password that meets defined security criteria.
Passwords are stored securely (eg., hashed and salted).
Users confirm their password to avoid typos.
Screen Fields:
Username or Email (Required, Unique)
Password (Required, Masked Field)
Confirm Password (Required, Must match Password)
Employee Id as required when it is not system User.
🔗 Dependencies:
Password policy must be defined in system configuration.
Unique user ID/email must be verified before registration.
Validations:
Password must:
Be at least 8 characters long
Include upper- and lower-case letters
Include at least one digit and one special character
Password and Confirm Password must match exactly.
Username/email must not already exist.
✅ Acceptance Criteria:
Users must enter valid username and password to gain access.
Passwords are never shown in plain text.
Login fails after a defined number of incorrect attempts.
Screen Fields:
Username or Email (Required)
Password (Required, Masked Field)
Captcha with Alphanumeric generated and Input place holder for Captcha
🔗 Dependencies:
Account must exist and be active.
Password hash must match stored value.
Validations:
Required fields must not be empty.
Lock account after as per policy defined by IT failed attempts.
Captcha enter by the user and System Generated Captcha Should Match. If
it not match system need to show Error Message on the Above Container.
Display generic error on failure (avoid "user not found”, “Password not
correct”).
🔁 User Story 3: Change Password
As a logged-in user,
I want to change my password from my profile or settings page,
so that I can maintain account security.
✅ Acceptance Criteria:
Users must enter current password to authorize change.
New password must meet policy requirements and not match previous
password.
Screen Fields:
Current Password (Required)
New Password (Required)
Confirm New Password (Required, must match)
🔗 Dependencies:
User must be authenticated and logged in.
Validations:
Current password must match stored hash.
New password must be different from previous N passwords.
Enforce same password strength policy as registration.
✅ Acceptance Criteria:
User enters email to request password reset.
A secure reset link is emailed and expires after X minutes.
User sets a new password using the link.
Screen Fields:
Request Reset:
Email (Required)
Reset Page:
New Password (Required)
Confirm Password (Required)
Security :
Mobile OTP
E-Mail OTP
🔗 Dependencies:
Valid email and Mobile number must be associated with a user.
Email and Mobile service must be functional.
Validations:
Rate-limit reset requests to prevent abuse.
Reset token must expire and be single-use.
Password must meet strength requirements.
OTP to Mobile & E-mail both has to Enter.
✅ Acceptance Criteria:
Password must be changed every as per the Policy by the Department.
System warns users X days before expiry.
System prevents reuse of last N passwords.
🔗 Dependencies:
Password expiry policy configured in system settings.
Password history maintained securely.
Validations:
Prevent login if password is expired. System Should send a Mail for Rest
Password.
Prevent setting a password that matches any of the last N passwords.
Session Management -
✅ Validations / Handling:
Upon session expiry:
o Clear session token/cookie
o Redirect to login page
o Display:
pgsql
CopyEdit
🔒 Session Expired
Your session has expired due to inactivity. Please log in again to con-
tinue.
GPS coordinates -
As an auditor,
I want to upload photos with embedded GPS coordinates,
So that the audit system can verify the location of audit events and artifacts.
Screen Fields
Upload Photo (File input – mobile camera or local file)
Auto-Fetched GPS Coordinates (Latitude, Longitude – read-only)
Person/Subject in Photo (Dropdown: Auditor, Auditee, Artefact)
Description/Notes (Text area)
Audit Engagement ID (auto-linked or selected)
Upload Button
Dependencies
Mobile device or browser with GPS/location permission
Photo metadata reader (to extract EXIF GPS data)
Secure file storage system
Audit engagement module
Validations
Image file types allowed: JPG, PNG (others rejected)
If photo lacks GPS data, prompt user or request confirmation
Reject uploads without valid engagement link
Limit file size (e.g., max 10MB per image)
Validate GPS coordinates are within expected audit area (optional)
User Story 2: Capture Real-Time Photo with GPS Data (Mobile)
As an auditor using a mobile device,
I want to capture photos in real time and auto-embed GPS coordinates,
So that the system accurately logs the audit location of the photo.
Screen Fields
Open Camera Button
Auto-Capture Location (GPS status indicator)
Subject Type (Dropdown: Auditor, Auditee, Artefact)
Capture Button
Preview Image
Confirm and Upload Button
Dependencies
Mobile device with camera and location services
Location permission granted by user
Native camera or web-based camera integration
Backend support to save image and metadata
Validations
GPS signal must be active before capture
Warn user if location permission is denied
Block upload if GPS data is missing or corrupted
Photo metadata must include timestamp and coordinates
Screen Fields
Audit Engagement Filter
Date Range Filter
Map View (Google Maps or similar)
Photo Markers (clickable pins with thumbnails and metadata)
Photo Details Modal (Image, Timestamp, Location, Uploaded By)
Dependencies
Mapping API (Google Maps, Leaflet, Mapbox)
GPS metadata from uploaded images
Photo storage service
Validations
All photo markers must correspond to valid GPS coordinates
Show warning if photo metadata is incomplete
Clicking a marker must display accurate photo and uploader info
Screen Fields
Require GPS Tag (Toggle: Yes/No)
Maximum Upload Size (Input: MB)
Allowed File Types (Checkbox: JPG, PNG, etc.)
Retention Period (Input: days/months)
Save Settings Button
Dependencies
System settings module
Photo upload service
Validation enforcement engine
Validations
Admin must configure all required fields
Invalid combinations (e.g., require GPS but allow non-image files) must be
blocked
Retention must fall within acceptable limits (e.g., 30–3650 days)
🔐 System-Level Requirements
All uploaded photos must be securely stored (encrypted at rest).
Metadata (timestamp, GPS, uploader) must be tamper-proof.
Access to view or delete photos must be role-restricted.
Each upload should be logged in the audit trail (who, when, from where).
Department Selection
To define user stories along with screen fields, dependencies, and valida-
tions for the hierarchy you've provided, we can break this down by levels and cre-
ate detailed requirements for each. This would suit a system (e.g., an organiza-
tional hierarchy or management portal) where different units are nested within
each other.
Screen Fields:
o Department Name (Text)
o Department Code (Unique, Alphanumeric)
o Description (Text Area)
o Status (Active/Inactive)
Validations:
o Name and Code are required.
o Department Code must be unique.
o Status must be selected.
Screen Fields:
o Type (Dropdown: Directorate, Agency/Board)
o Name (Text)
o Code (Unique)
o Parent Department (Dropdown – Populated from Level 1)
o Status (Active/Inactive)
Dependencies:
o Must select a Department first.
Validations:
o Name, Type, and Parent Department are required.
o Code must be unique.
o Must validate that selected Department is Active.
Screen Fields:
o Office Name
o Office Code
o Type (Dropdown: HQ, Regional, etc.)
o Parent Unit (Dropdown – Only Directorate or Agency/Board)
o Location
o Status
Dependencies:
o Parent must be either Directorate or Agency/Board (Level 2)
Validations:
o Cannot assign to both Directorate and Agency/Board simultaneously.
o Office Code must be unique.
Screen Fields:
o Station Name
o Code
o Location (GPS or Address)
o Parent Office (Dropdown – Level 3)
Dependencies:
o Must have a valid parent Office
Validations:
o Location is mandatory
o Code must be unique
Screen Fields:
o Program Name
o Type (Program/Scheme)
o Related Entity (Dropdown with Department → Station)
o Start and End Dates
o Objectives
Dependencies:
o Related Entity must be selected from a valid active unit
Validations:
o Start Date < End Date
o Program Name must be unique within the selected entity
Screen Fields:
o Project Name
o Associated Program/Scheme
o Budget
o Milestones
o Status
Dependencies:
o Must be linked to an existing Program/Scheme
Validations:
o Budget must be a positive number
o Associated Program must be active
Audit Period
Here are user stories with screen fields, dependencies, validations, and but-
ton actions for managing Audit Periods and a Proposed Audit Schedule, in-
cluding workflow actions like Save, Send for Approval, Approve, and Reject:
🖥 Screen Fields:
Cannot create a current audit period unless the last audit period is defined.
Current audit period must be sequential (i.e., after the last audit period).
✅ Validations:
🧩 Buttons/Actions:
🖥 Screen Fields:
🔄 Dependencies:
✅ Validations:
Cannot overlap with existing approved audit schedules for the same unit.
Dates must fall within the selected Audit Period.
All fields (except Notes) are required.
🧩 Buttons/Actions:
🖥 Screen Fields:
🔄 Dependencies:
✅ Validations:
🧩 Buttons/Actions:
🔁 Workflow Summary
Status Action Next Status Role
Audit
Draft Save Draft
Officer
Send for Pending Audit
Draft
Approval Approval Officer
Pending
Approve Approved Approver
Approval
Pending
Reject Rejected Approver
Approval
Screen Fields:
Audit Name (auto-filled / read-only)
Audit ID (auto-filled / read-only)
Audit Period
Audit Type (e.g., Internal, External, Compliance)
Team Lead (dropdown – list of eligible users)
Team Members (multi-select dropdown – users with “Auditor” role)
Remarks / Notes
Validations:
Team Lead must be selected
At least 2 Team Member must be selected
No duplicate selections (e.g., Lead should not also be listed as a member)
Team Lead and Members must be active users
Audit Period must be valid and not overlap with closed audits
Dependencies:
Users available for selection must belong to the same business unit (or de-
fined scope)
User roles and availability pulled from User Management system
Workflow Actions:
Save: Store team draft; editable later
Send for Approval: Locks the entry, triggers approval workflow
✅ User Story 2: Approve Audit Team
As an Audit Director
I want to review and approve the selected audit team
So that the team can officially start audit activities
Screen Fields:
View-only fields: Audit Name, ID, Period, Team Lead, Members, Remarks
Approval Comments (optional)
Validations:
Only users with “Approver” role can approve
Cannot approve unless “Send for Approval” was triggered
If any team member is no longer valid (e.g., inactive), show a blocking error
Workflow Actions:
Approve: Locks team configuration, marks it “Approved”
Reject: Sends back to Audit Manager for rework; status “Rejected”
Screen Fields:
All editable fields from User Story 1
Rejection Reason (displayed read-only from previous rejection)
Validations:
Same validations as original team creation
Must address the feedback before re-submission
Workflow Actions:
Save
Send for Approval (again)
🧮 User Story 4: View Audit Team Status
As an Auditor or Manager
I want to view the status of audit team assignments
So that I know if I’ve been assigned or the team is approved
Screen Fields:
Audit ID, Audit Name, Status (Draft / Pending Approval / Approved / Re-
jected)
Team Lead, Members, Approval Status, Comments
Audit Intimation
Here’s a refined set of user stories for the Audit Intimation feature, incorpo-
rating the fields you mentioned, including screen fields, field dependencies,
validations, and the Send Intimation button as the primary workflow trigger.
✅ Field Validations:
Recipient Email
o Must not be empty
o Must contain at least one valid email address ( [email protected])
o No duplicates
o Each address validated with regex or backend check
Intimation Message
o Required field
o Minimum 10 characters
o Max 1000 characters (optional limit for concise communication)
Audit Schedule From & To
o Both required
o From date must be ≤ To date
o Cannot overlap with already scheduled audits for same team (busi-
ness rule)
Select Audit Team
o Required
o Only approved teams shown in dropdown
o On selection, populate Audit Name and Audit ID
Send Intimation (Button)
o Enabled only if all required fields are valid
o On click, triggers:
Email dispatch to recipients
Record log of intimation (timestamp, sender, recipients)
Status change (e.g., to "Intimation Sent")
📋 Display Fields:
Field Description
Audit ID / Audit
To identify which audit
Name
Comma-separated or tag-
Recipients
style emails
Intimation Sent
Timestamp
Date
Audit Schedule From
Scheduled audit window
/ To
Team Assigned Team Name and Lead
First 100 characters or view
Message Preview
full
Here’s a focused user story and functional detail for the “Audit Intimation
Sent Successfully!” popup, including screen fields, dependencies, valida-
tions, and behavior upon a successful send.
🧾 User Story: Display Success Popup After
Sending Audit Intimation
As an Audit Manager
I want to see a confirmation popup when the audit intimation is sent successfully
So that I know the recipients have been notified and the process was completed
without error
💬 Popup Message:
css
CopyEdit
✅ Audit Intimation Sent Successfully!
The intimation email has been sent to all selected recipients.
Task Assignment
Here’s a detailed breakdown of user stories for a Task Assignment feature, in-
cluding screen fields, dependencies, validations, and support for Add and
Remove buttons to manage multiple tasks dynamically.
🔄 Dependencies:
Assign To dropdown is populated from the current audit team or project
team
Deadline may be constrained within project/audit period dates
Task Name suggestions can be driven by task templates (optional)
🧾 User Story 2: Save or Submit Task
Assignments
As a Project Lead
I want to save or submit the task assignments after filling them out
So that the tasks are recorded and assigned to the responsible persons
🔘 Actions:
Button Function
Save Saves all task assignments in current state for later
Draft edits
Validates and finalizes assignments, notifies
Submit
assignees (optional)
🧩 Backend/Workflow Dependencies:
On submit, system should:
o Save tasks to database
o Optionally notify users via email/notification
o Log who assigned the task and when
Here’s a focused user story and functional detail for the “Task Assignment
Sent Successfully!” popup, including screen fields, dependencies, valida-
tions, and behavior upon a successful send.
🧾 User Story: Display Success Popup After
Sending Task Assignment.
As an Audit Manager
I want to see a confirmation popup when the Task Assignment is sent
successfully
So that I know the recipients have been notified and the process was completed
without error
💬 Popup Message:
css
CopyEdit
✅ Task Assignment Sent Successfully!
The intimation email has been sent to all selected recipients.
Enabled When
Button Visible To Required Fields Next Status
Status Is
Submitted / Finalized /
Accept Reviewer Reviewer Comments
Under Review Accepted
Auditor Deleted
Discard Draft Confirmation
(creator) (soft/hard)
Optional Enhancements
Auto Save Draft every 5 minutes.
Audit Trail for all status changes.
Visual status indicators (e.g., color tags for Draft, Rejected,
Finalized).
Would you like a process flowchart showing how these statuses and
actions connect?
A network error occurred. Please check your connection and try again. If
this issue persists please contact us through our help center at
help.openai.com.
Retry
Dependencies
Observation must exist (draft or submitted) before attaching.
Only auditors or reviewers assigned to the observation can upload
files.
File uploads linked to the observation ID.
Validations
Allowed file formats: .pdf, .docx, .xlsx, .jpg, .png.
Maximum file size per upload: 10MB.
Max total file size per observation: e.g., 50MB.
File name should not duplicate existing file names for the same
observation.
Only files in Draft or Rejected status can be deleted by the
uploader.
Description character limit (optional): 250 characters.
Enabled
Action Visible To Required Input Restrictions
When
File (mandatory),
Attach Draft / Auditor, File type & size
Description
File Submitted Reviewer constraints
(optional)
Dependencies
Response must be submitted to generate receipt.
Receipt is auto-generated and stored on submission.
Validations
Receipt must be accessible only to authorized users.
Show error if response not yet submitted or if receipt file is corrupted.
Submit Circle Office Enquiry status = Response text required; file optional
Response User Open unless flagged as mandatory
Available In Next
Button Role Validations / Rules
Status Status
Any Editable
Save as Draft Auditor Minimal validation Draft
Phase
In draft or new
Clear Reset form fields Requires confirmation modal
entry
Enabled
Button Function Validations / Notes
When
In draft or new
Clear Reset form fields Requires confirmation modal
entry
Welcome Dashboard
Summary widgets,
Dashboard All users Role-specific data visibility
activities, quick links
Menu Item Visible To Key Fields or Actions Validations / Conditions
Confirmation required,
Logout All users Session end, redirect
session tokens cleared
Add
Add N/A Admin Unique Code & Name, mandatory fields
Entity
Actio Button Allowed User
Validations
n Name Status Role
Button
Action Dependencies Validations
Name
Active project
Create Ad-hoc Create Ad-hoc Unique Audit Title, Scope of
selected, auditor
Audit Audit Audit (min 100 characters)
assigned
External system
Integration success or
Integrate Integrate connected and
failure log
accessible