safebank-fe

Functional Requirements

Each functional requirement in this document was thoughtfully designed with a user-centric approach. Regular collaboration between Karl (Product Owner) and Clara (Cloud Architect) ensured that user needs remained the focal point of the design process. The requirements were frequently revisited and adapted based on the team’s capacity and evolving decisions, striking a balance between functionality, scalability, and feasibility.


User Portal

Welcome Page


User Registration


User Login


Account Management Portal


Money Transfers


Form Validation


Admin Portal

Admin Login


User Management


Transaction Management


Form Validation

FR to User Story Mapping

FR Number Functional Requirement Related User Stories Acceptance Criteria
FR1–FR7 The system must allow users to register and create a new bank account with validation for unique usernames and secure password storage. As a new user, I want to register and create a bank account. User successfully signs up, and a unique account is created. Passwords are hashed before storage. Errors are displayed for invalid inputs.
FR8–FR11 Users must be able to log in securely and access their personalized account management portal. As an admin, I want a default account with hashed credentials to access the system securely. Admin credentials are hashed and stored securely. Default credentials cannot be deleted. Error message for invalid login credentials.
FR12–FR14 Users can view their bank accounts and transaction history within the account management portal. As a user, I want to view my bank accounts and transactions. Accounts and transactions are displayed with details.
FR15–FR17 The system must allow users to transfer money between accounts with validation for sufficient balance. As a user, I want to transfer money between accounts. Transfer completes successfully if the amount is within balance limits. Errors are displayed for invalid or insufficient transfers.
FR18 All forms in the system must include validation to ensure required fields are filled before submission. As a Site Reliability Engineer, I want to monitor key SLIs to ensure performance and reliability targets are met. Monitoring includes key metrics like uptime, speed, error rates, and transaction success rates. Alerts trigger automatically for breaches.
FR19–FR21 Admins must be able to securely log in to an admin portal with proper authentication and error handling. As a DevOps engineer, I want to update the backend deployment workflow to use Azure Key Vault for managing secrets securely. Backend deployment workflows use Key Vault for secrets. Workflows are secure and succeed without hardcoded credentials.
FR22–FR26 Admins must be able to create, update, delete, and reset passwords for user accounts, with proper error handling and validation. As an admin, I want the ability to create, update, delete, and reset passwords for bank users with proper error handling. Admin can manage user accounts, validate inputs, hash passwords, and display success or error messages for actions.
FR27 Admins must be able to view the transaction history of all user accounts. As a Site Reliability Engineer, I want to create an interactive Azure Workbook that visualizes key SLIs. Workbook includes real-time and historical trends, filters for regions and components, and displays alerts for breached thresholds.
FR28 All forms in the admin portal must include validation to ensure required fields are filled before submission. As a cybersecurity engineer, I want to securely store sensitive credentials in Azure Key Vault. Key Vault stores all secrets securely, and logs track secret access.