Use Cases - moghle/smart-reteach GitHub Wiki

Use Cases Diagram

## Use case: Register

  • Short description: Registration (new user).
  • Players: Client and DB.
  • Prerequisites: Valid email and password.
  • Basic flow:
  • The user selects the register button.
  • The user has chosen to register via email.
  • Filling in the required information in the text fields.
  • Verification link sent to email.
  • The user entered the link.
  • Flow in exceptional mode: In case there is an error in filling in the information, a message appears telling the user the error.
  • Post-condition: There is a new user.

## Use case: login

  • Short description: Entrance.
  • Players: Client and DB.
  • Prerequisites: Account already exists.
  • Basic flow:
  • The user selects the login button.
  • Fill in the username and password fields.
  • Checks if the user exists in the database.
  • The main screen appears. Alternate flow:
  • The user selects the login button.
  • Click on "I forget my password".
  • Fills in his username.
  • The app checks how the user has registered (via email or phone number).
  • The app sends an email to the user to recover his password.
  • Flow in exceptional mode: In case there is an error in filling in the information, a pop-up message appears that tells the user the error (incorrect username / password).
  • Post-condition: The user receives appropriate permissions to view the application.

## Use Case: Upload Video

  • Short description: Upload a video to the course website that belongs to it.
  • Players: Client and DB.
  • Prerequisites: An existing account and an existing course.
  • Basic flow:
  • The user enters the course he wants to put the video in.
  • The user clicks the Upload video button
  • The user fills in the required details like the title of the video
  • The user selects the order in which the video appears within the course video list.
  • Flow in exceptional mode: In case there is an error, a message appears telling the user the error.
  • Post-condition: The video will appear in the list.