PSEUDOCODE
START
FUNCTION DISPLAY_LOGIN_WINDOW()
Display the login window
FUNCTION VALIDATE_USER_CREDENTIALS(username, password)
IF username and password are valid THEN
RETURN true
ELSE
RETURN false
FUNCTION VALIDATE_ADMIN_CREDENTIALS(adminUsername, adminPassword)
IF adminUsername and adminPassword are valid THEN
RETURN true
ELSE
RETURN false
FUNCTION DISPLAY_SIGN_UP_WINDOW()
Display the sign-up window
Prompt: "Enter user details"
Input: Collect user details
IF user details are valid THEN
CALL GENERATE_ACCOUNT_NUMBER()
CALL SAVE_TO_APPLICATION_CSV()
CALL DISPLAY_SUBMISSION_CONFIRMATION()
ELSE
Display an error message
CALL DISPLAY_SIGN_UP_WINDOW()
ENDIF
FUNCTION GENERATE_ACCOUNT_NUMBER()
Generate a unique account number
FUNCTION SAVE_TO_APPLICATION_CSV()
Save the new user details to the application CSV
FUNCTION DISPLAY_SUBMISSION_CONFIRMATION()
Display submission confirmation message
FUNCTION DISPLAY_ADMIN_LOGIN_WINDOW()
Display admin login window
FUNCTION DISPLAY_ADMIN_HOME_PAGE()
Display the admin home page
FUNCTION DISPLAY_RESERVED_BALANCE()
Display the reserved balance
FUNCTION SHOW_CLIENTS_DATA_TABLE()
Display clients' data table
FUNCTION DISPLAY_INVALID_CREDENTIALS_POP_UP()
Display invalid credentials pop-up
FUNCTION ACCOUNT_PENDING_APPROVAL()
Display account pending approval message
FUNCTION DISPLAY_USER_HOME_PAGE()
Display the user home page
FUNCTION DISPLAY_BALANCE_AND_NOTIFICATIONS()
Display user balance and notifications
FUNCTION DISPLAY_APPLICATIONS_LIST()
Display the list of applications
FUNCTION VIEW_DETAILS()
View details of a selected application
FUNCTION DISPLAY_ADMIN_LOGS()
Display admin logs
FUNCTION DELETE_LOGS()
Delete admin logs
FUNCTION DISPLAY_AUDIT_REPORT()
Display the audit report
FUNCTION DISPLAY_CLIENT_INFO()
Display client information
FUNCTION TOGGLE_ACCOUNT_STATUS()
Toggle the status of the client account
FUNCTION DELETE_CLIENT_ACCOUNT()
Delete the client account
FUNCTION UPDATE_APPLICATION_CSV()
Update the application CSV with the new status
FUNCTION UPDATE_CLIENT_CSV()
Update the client CSV with approved status
FUNCTION DEPOSIT_PROCESS()
Check deposit conditions
Update user balance and reserve
FUNCTION WITHDRAW_PROCESS()
Check balance
Update user balance and reserve
FUNCTION CHECK_ACCOUNT_PROCESS()
Check account conditions
Update user information
FUNCTION DISPLAY_INVALID_CREDENTIALS_POP_UP()
Display invalid credentials pop-up
PROGRAM_START()
CALL DISPLAY_LOGIN_WINDOW()
Prompt: "User Action: Admin Login, User Login, or Sign Up"
IF user action is "Admin Login" THEN
CALL DISPLAY_ADMIN_LOGIN_WINDOW()
Input: adminUsername, adminPassword
IF CALL VALIDATE_ADMIN_CREDENTIALS(adminUsername, adminPassword) THEN
CALL DISPLAY_ADMIN_HOME_PAGE()
CALL DISPLAY_RESERVED_BALANCE()
CALL SHOW_CLIENTS_DATA_TABLE()
ELSE
CALL DISPLAY_INVALID_CREDENTIALS_POP_UP()
ENDIF
ELSE IF user action is "Sign Up" THEN
CALL DISPLAY_SIGN_UP_WINDOW()
ELSE IF user action is "User Login" THEN
Input: username, password
IF CALL VALIDATE_USER_CREDENTIALS(username, password) THEN
Prompt: "Is the account approved?"
IF account is approved THEN
CALL DISPLAY_USER_HOME_PAGE()
CALL DISPLAY_BALANCE_AND_NOTIFICATIONS()
Prompt: "User Action: Deposit, Withdraw, or Check Account"
IF user action is "Deposit" THEN
CALL DEPOSIT_PROCESS()
ELSE IF user action is "Withdraw" THEN
CALL WITHDRAW_PROCESS()
ELSE IF user action is "Check Account" THEN
CALL CHECK_ACCOUNT_PROCESS()
ENDIF
ELSE
CALL ACCOUNT_PENDING_APPROVAL()
ENDIF
ELSE
CALL DISPLAY_INVALID_CREDENTIALS_POP_UP()
ENDIF
ENDIF
END