advweb-grp1 / advanced-web-final-year-project

Final year advanced web develop unit project
MIT License
1 stars 0 forks source link

Use Case: Login User #4

Closed advweb-grp1 closed 1 year ago

advweb-grp1 commented 1 year ago

A user must login to the system to access data, add or delete data.

Basic path

  1. The use case starts when a user indicates that he/she wants to login.
  2. The system requests the username and password.
  3. The user enters his/her username and password.
  4. The system verifies the username and password against all registered users.
  5. The system starts a login session and displays a welcome message.

Alternative Paths

Step 4: If username is invalid, the use case goes back to step 2.

Step 4: If the password is invalid, the system requests that the user re-enter the password. When the user enters another password, the use case continues with step 4 using the original username and new password.

Exception Paths

The system may abandon login after 5 unsuccessful attempts.

Preconditions

The user is registered. The username is the user’s email address.

Postconditions

The user can now add data, delete data, query data and visualise data.

advweb-grp1 commented 1 year ago

Reference the page design in #3 for the login page.

advweb-grp1 commented 1 year ago

Login will be authenticated via Firebase.

rwx-yxu commented 1 year ago

Will need a Login form component - to capture the user's username and password

rwx-yxu commented 1 year ago

User Authentication

Route Guards and User Sessions

rwx-yxu commented 1 year ago

"The system may abandon login after 5 unsuccessful attempts." line doesn't specify what is the mechanism to get the user back to being able to log back in? May just be a time out of 30 mins then allow them to log back in?

rwx-yxu commented 1 year ago

For route guards, I should hide the nav items so that only logged in users can see the query button for example. This will require a change to the nav bar component

rwx-yxu commented 1 year ago

Need to also implement log out button as well once logged in.