Use Cases Template - HibaAbdo/Level_Up2 GitHub Wiki

> Use Case: Log In

Name:
Log In

Actors:
Organizer, Arbiter

Brief Description:
Registered users (Organizer, Arbiter) log in to the system using their username and password to access role-specific functionalities.

Preconditions:

  • The user is registered in the system
  • Credentials are valid

Basic Flow:

  1. The user enters their username and password
  2. The system validates the credentials
  3. The system determines the user's role
  4. The user is redirected to their dashboard

Alternate Flows:
None

Exception Flows:

  • Invalid credentials: The system displays the message:
    "Login failed, please check your data."
  • The user remains on the login page

Postconditions:

  • Authentication is successful
  • The user session starts
  • Access to the appropriate dashboard is granted

> Use Case: Create Tournament

Name:
Create Tournament

Actor:
Organizer

Brief Description:
The Organizer creates a new tournament and configures its basic settings.

Preconditions:

  • The Organizer is logged in

Basic Flow:

  1. The Organizer selects "Create Tournament"
  2. The Organizer enters tournament details (name, number of rounds, scoring system, tiebreak rules, etc.)
  3. The Organizer saves the configuration

Alternate Flows:
None

Exception Flows:

  • Incomplete input: The system highlights the required fields

Postconditions:

  • The tournament is created and settings are saved successfully

> Use Case: Manage Tournament Settings

Name:
Manage Tournament Settings

Actor:
Organizer

Brief Description:
Edit tournament settings (name, number of rounds, tiebreak rules, etc.) after creation.

Preconditions:

  • The tournament exists
  • The Organizer is logged in

Basic Flow:

  1. Open the tournament settings page
  2. Update the required information
  3. Save the changes

Alternate Flows:
None

Exception Flows:

  • Invalid input: The system displays a message

Postconditions:

  • The tournament settings are updated

> Use Case: Manage Players

Name:
Manage Players

Actor:
Organizer

Brief Description:
Add players, confirm attendance, and manage player order.

Preconditions:

  • A tournament has been created
  • The Organizer is logged in

Basic Flow:

  1. Add a single player or multiple players in bulk
  2. Confirm player attendance
  3. Sort players (randomly or by rating)

Alternate Flows:

  • Remove a player before the tournament starts

Exception Flows:
None

Postconditions:

  • The player list and attendance statuses are updated

> Use Case: Generate Round

Name:
Generate New Round

Actor:
Organizer

Brief Description:
Generate the pairings for the next round using JaVaFo.

Preconditions:

  • The previous round is completed and all results recorded
  • JaVaFo is available

Basic Flow:

  1. The Organizer selects "Generate New Round"
  2. The system invokes JaVaFo to generate pairings
  3. The system displays the new pairings

Alternate Flows:
None

Exception Flows:
None

Postconditions:

  • The new round pairings are saved

> Use Case: Submit Round Results

Name:
Submit Round Results

Actor:
Arbiter

Brief Description:
The Arbiter records the results of matches after the round is completed and submit them.

Preconditions:

  • The round has been completed
  • The Arbiter is logged in

Basic Flow:

  1. The Arbiter enters the results for all pairs
  2. The Arbiter submits the results

Alternate Flows:
None

Exception Flows:

  • Incomplete results: The Arbiter can't submit the results.

Postconditions:

  • Results are recorded and pending Organizer review

> Use Case: Record Violations and Comments

Name:
Record Violations and Comments

Actor:
Arbiter

Brief Description:
Record player violations or comments related to the round.

Preconditions:

  • The round is in progress or completed
  • The Arbiter is logged in

Basic Flow:

  1. Select the player
  2. Record the violation type or comment
  3. Save the record

Alternate Flows:

  • Record multiple violations in a single round

Exception Flows:
None

Postconditions:

  • Violation record is saved and player status is updated

> Use Case: View Pairs

Name:
View Pairings

Actor:
Organizer, Arbiter, Guest

Brief Description:
View current and past round pairings along with results.

Preconditions:

  • Pairings have been generated

Basic Flow:

  1. The user navigates to the pairings page
  2. The user selects the round
  3. The system displays the list of pairings and their statuses

Alternate Flows:

  • View previous rounds

Exception Flows:
None

Postconditions:

  • The user can view the selected pairings

> Use Case: View Standings

Name:
View Standings

Actor:
Organizer, Guest

Brief Description:
View player rankings based on round results.

Preconditions:

  • At least one round result has been approved

Basic Flow:

  1. The user opens the standings page
  2. The system displays standings sorted by points and tiebreak criteria

Alternate Flows:
None

Exception Flows:
None

Postconditions:

  • The user can see the current rankings

> Use Case: Archive Tournament

Name:
Archive Tournament

Actor:
Organizer

Brief Description:
Move a completed tournament to the archive, where it is visible in the archived tournaments section.

Preconditions:

  • The tournament has been created

Basic Flow:

  1. The Organizer selects "Archive Tournament"
  2. The Organizer confirms the action
  3. The system saves the archived status

Alternate Flows:
None

Exception Flows:
None

Postconditions:

  • The tournament is marked as archived