Sequence Diagrams
Use Case 1 - Account Creation
A user wants to create a new account.
- The user opens the Devs & Dragons application for the first time.
- The user selects the ‘Create Account’ button to begin the account registration process.
- The user enters the desired username, password, and email into the form.
- If any fields are filled out incorrectly, the user is notified and asked to try again.
Use Case 2 - Logging in
A user wants to log in to an account they created
- The user navigates to the site's landing page
- The user selects the ‘login’ button
- The user enters their username and password
- After providing the correct credentials, the user will receive a 2FA code in their email
- The user enters the 2FA code
- After providing the correct 2FA code, the user is brought to the home page
Use Case 3 - Quest Creation
A user wants to create a new quest.
- From the home page, the user selects the “Quests” tab.
- The user selects the “Create Quest” button.
- The user fills out a form for the following:
- Quest Title
- Coding Topic
- Amount of problems
- Difficulty level
- Enemy
- Background
- User reviews their input and selects the “Confirm” button.
Use Case 4 - Create Avatar
A user wants to create their Avatar.
- From the homepage, the user selects "Avatar" tab.
- The user selects between six avatar options.
- The user selects a color-scheme for the selected avatar.
- User selects "Save Changes" button.
Use Case 5 - Starting a Quest
A user wants to start a quest they made.
- From the homepage, the user selects "Quests" tab.
- The user selects the dropdown menu option, "My Quests."
- The quests the user made are displayed, the user selects the quests interested in starting.
- The user selects "Start Quest" button.
Use Case 6 - Playing a Quest Solo
Two users want to solve a coding problem together during a quest.
- The quest begins by displaying the quest briefing to the user, providing a story for the user.
- The game screen is now displayed to the user where they can see:
- User's avatar
- User's health bar
- Enemy
- Enemy's health bar
- Timer
- Code Editor
- The user is prompted with a question.
- The timer begins to tick down.
- If the user does not submit an answer before the timer reaches 0, then the user's health bar decreases.
- The user writes code in the provided code editor.
- The user clicks the "Submit" button.
- The GPT-bot analyzes the user's submission and provides feedback with a rating from 1 to 3.
- Based on the GPT-bot’s rating:
- Feedback is provided to the user:
- If the rating is 1, the user’s health bar decreases, and the quest continues with the timer reset for a new attempt.
- If the rating is 2, the user receives tips on improving their solution and chooses to try again or continue.
- If the rating is 3, the user successfully damages the enemy, the enemy’s health bar decreases, and the user proceeds to the next question if available.
- Feedback is provided to the user:
- The user continues to engage with the quest until all questions are answered, the user quits, or the user’s health bar reaches zero.
Use Case 7 - Creating a Party to Start a Quest
A user wants to start a quest outside of a guild.
- From the homepage, the user selects the “Quests” tab.
- The user selects “My Quests”.
- The user selects the quest they want to do.
- The user selects the “Start Quest” button.
- The user creates a party code and shares it with their peer(s).
- The user waits for party size to be at two to four members, then clicks the “Start Quest” button.
Use Case 8 - Join a Party
A user wants to join another user’s party.
- From the home page, the user clicks on the “Join Party” button.
- The user enters the party code.
- The user selects the “Join” button.
Use Case 9 - Playing a Quest with a Party
Two users want to solve a coding problem together during a quest.
- The quest begins by displaying the quest briefing to the user, providing a story for the user.
- The game screen is now displayed to the user where they can see:
- User's avatar
- User's health bar
- Enemy
- Enemy's health bar
- Timer
- Code Editor
- The user is prompted with a question.
- The timer begins to tick down.
- If the user does not submit an answer before the timer reaches 0, then the user's health bar decreases.
- The user writes code in the provided code editor.
- The user clicks the "Submit" button.
- The second user in the party adds onto the code editor to solve the problem if needed.
- The second user clicks the "Submit" button.
- The GPT-bot analyzes the user's submission and provides feedback with a rating from 1 to 3.
- Based on the GPT-bot’s rating:
- Feedback is provided to the user:
- If the rating is 1, the user’s health bar decreases, and the quest continues with the timer reset for a new attempt.
- If the rating is 2, the user receives tips on improving their solution and chooses to try again or continue.
- If the rating is 3, the user successfully damages the enemy, the enemy’s health bar decreases, and the user proceeds to the next question if available.
- The two users continue to engage with the quest until all questions are answered, the user quits, or the user’s health bar reaches zero.