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:
- The user enters their username and password
- The system validates the credentials
- The system determines the user's role
- 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:
- The Organizer selects "Create Tournament"
- The Organizer enters tournament details (name, number of rounds, scoring system, tiebreak rules, etc.)
- 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:
- Open the tournament settings page
- Update the required information
- 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:
- Add a single player or multiple players in bulk
- Confirm player attendance
- 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:
- The Organizer selects "Generate New Round"
- The system invokes JaVaFo to generate pairings
- 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:
- The Arbiter enters the results for all pairs
- 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:
- Select the player
- Record the violation type or comment
- 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:
- The user navigates to the pairings page
- The user selects the round
- 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:
- The user opens the standings page
- 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:
- The Organizer selects "Archive Tournament"
- The Organizer confirms the action
- The system saves the archived status
Alternate Flows:
None
Exception Flows:
None
Postconditions:
- The tournament is marked as archived