3Design Scenarios - bounswe/bounswe2024group8 GitHub Wiki
Scenarios
1 - User Registration and Login
Scenario
Hunter has just received his new 3D printer and is excited to try out some designs created by others. He visits a website that offers 3D printing designs, but the site requires him to create an account before accessing the content. Clicking on the "Create an Account" link, Hunter is taken to the registration page. Carefully, he enters his email address, chooses a unique username, and sets a strong password to protect his account. After successfully registering, he logs in using his email and password. Once logged in, Hunter eagerly explores a wide variety of 3D printing ideas available on the platform. As he browses through the designs, he finally feels that his money didn't go to a trash can. He realizes there are so many exciting projects he can create with his new printer.
Acceptance Criteria
- Users shall be able to register using their unique e-mail address, unique username and password. (Requirement 1.1.1.1)
- Users shall be able to login using their email address and password. (Requirement 1.1.2.1)
Related Mock-Ups
2 - Creating and Interacting with Posts
Scenario
Diyar, a regular 3D designer, opens the app to explore the Gallery Tab. He decides to create a visual post, knowing he needs to upload a 3D file to proceed. After selecting a category, he attaches his latest design and submits it, aware that he can only submit one post per category per week if he wants to participate in tournaments. While browsing other visual posts, Diyar notices one that catches his attention. He decides to challenge the creator by replying with another visual post, sparking a friendly competition. Later, in the Discussions Tab, Diyar writes a simple text-only post, adding a few tags to organize it. He doesn’t attach any files, as they aren’t allowed with text-only posts. After posting, he checks out other posts, liking a few and bookmarking the ones he finds useful. Diyar writes a short comment on one post he enjoys, keeping it under the 250-character limit. He can't tag anyone or reply to other comments, but he gives a few comments likes and dislikes before logging out for the day.
Acceptance Criteria
- Users shall be able to create and interact visual posts in each category under Gallery Tab. (Requirement 1.1.4.1.1)
- Users shall be able to reply another visual post while creating one to start a Challenge. (Requirement 1.1.4.1.2)
- Users shall not be able to create a visual-post without adding a 3D file. (Requirement 1.1.4.1.3)
- Users shall be able to submit one Visual Post per Category per week to participate in Tournaments. (Requirement 1.1.4.1.4)
- Users shall be able to create and interact text-only posts in each category under Discussions Tab. (Requirement 1.1.4.2.1)
- Users shall not be able to create a text-only post with an attached file. (Requirement 1.1.4.2.2)
- Users shall be able to add tags to their own posts. (Requirement 1.1.4.3)
- Users shall be able to like, dislike and bookmark a post. (Requirement 1.1.4.4)
- Users shall be able to write a comment to a post. (See "1.1.5 Comments") (Requirement 1.1.4.5)
- Users shall not be able to tag other users in the post. Only way to reply other than commenting is by Challenge. (Requirement 1.1.4.6)
- Users shall be able to write comments to the posts. (Requirement 1.1.5.1)
- Comments shall contain at most 250 characters. (Requirement 1.1.5.2)
- Users shall not be able to tag other users in the comment. (Requirement 1.1.5.3)
- Users shall not be able to reply a comment with their comment. (Requirement 1.1.5.4)
- Users shall be able to like or dislike a comment. (Requirement 1.1.5.5)
Related Mock-Ups
3 - Tournaments
Scenario
Munzur, driven by his competitive nature, opens the app with one clear goal in mind: to dominate the weekly tournaments. The app presents several categories, each offering a different theme for visual posts, and Munzur quickly scans through them, eager to participate. He selects multiple categories, each demanding a distinct creative submission, and prepares his visual posts for each one. Characters, animations, props—he’s ready for them all. With his submissions finalized, he confidently uploads a different visual post for each category, knowing that once they're in, there’s no going back. He can’t edit them, but that doesn’t faze him—he trusts his skills. Munzur checks the Tournament leaderboard, monitoring each category he’s entered. The leaderboard updates regularly, and he eagerly watches as his rank fluctuates, pushing him to strategize better for next week. He’s obsessed with the rankings, knowing that placing in the top three will earn him valuable experience points, which are crucial for leveling up his profile. His goal is to stay ahead of everyone else. As the week progresses, Munzur’s focus never wavers. The leaderboard is his battleground, and he’s determined to see his name climb to the top. Every time he ranks in the top three, his profile is updated with new tournament achievements. This isn’t just about the tournament, it’s about sending others a message. Satisfied with his efforts, Munzur occasionally deletes some of his past submissions, making room for future ones. He knows he can’t alter what’s already submitted, but that only pushes him to perfect his entries before the deadline hits. He’s always thinking ahead, anticipating the next opportunity to rise above his competition. The tournament has become Munzur’s obsession, and as he closes the app, his mind is already planning for next week’s challenge.
Acceptance Criteria
- Users shall be able to participate in weekly Tournaments by submitting one Visual Post per Category. (Requirement 1.1.8.1)
- Users shall be able to participate in multiple Categories with different Visual Posts. (Requirement 1.1.8.2)
- Users shall be able to view the Tournament leaderboard for each Category. (Requirement 1.1.8.3)
- Users shall earn experience points based on their rankings if they are in the top three positions. (Requirement 1.1.8.4)
- Users' Tournament achievements shall be displayed on their Profiles. (Requirement 1.1.8.5)
- Users shall not be able to edit their Tournament submissions. (Requirement 1.1.8.6)
- Users shall be able to delete their Tournament submissions. (Requirement 1.1.8.7)
Related Mock-Ups
4 - Updating Profile
Scenario
Simon, always focused on his online image, frequently logs into the app to tweak his profile. This week, he decides it’s time for a change, so he updates his profile picture to something more polished. He also changes his username, careful to pick something that feels fresh and appealing, knowing he can only do this once a month. He considers updating his password for added security, then logs out after making the changes. Though he’d love to adjust his tournament ranking to look more impressive, Simon knows there’s no way to alter those points—he has to earn them. He also wants to change his email address since he doesn't use the current one frequently but there is no way to do it. Satisfied with how his profile looks, he leaves the app, already planning his next update.
Acceptance Criteria
- Users shall be able to update their password. (Requirement 1.1.2.1.1)
- Users shall be able to log out of their account. (Requirement 1.1.2.1.2)
- Users shall be able to change their username once a month. (Requirement 1.1.2.1.3)
- Users shall be able to change their profile picture. (Requirement 1.1.2.1.4)
- Users shall be able to delete their account. (Requirement 1.1.2.1.5)
- Users shall not be able to change their e-mail address. (Requirement 1.1.2.2.1)
- Users shall not be able to modify their Tournament points or rankings. (Requirement 1.1.2.2.2)
Related Mock-Ups
5 - Challenges
Scenario
Ilker, a novice who has only recently entered the world of 3D modeling, has finished working on the model of a spaceship that he is very proud of. He logs into his 3Design account and creates a visual post using his spaceship model, with a description detailing the technical capabilities of the spaceship in the model. He logs out, eagerly awaiting likes and positive feedback to his post. When he logs in again the next day, to his surprise, he sees that the reaction of the community to his post has not been as good as he thought. Furthermore, in his feed, he sees that another user with the username Victor has posted a challenge to his original post with a spaceship model that is way more detailed than the original. In the text part of his challenge post, Victor has also lightly mocked Ilker for the many mistakes he has made in his original model. After seeing that this challenge post by Victor has many more likes than his original post, Ilker is hit with a reality check and realizes that he still has a lot to learn about 3D modeling.
Acceptance Criteria
- Users shall be able to login using their e-mail address and password. (Requirement 1.1.1.2.1)
- Users shall be able to log out of their account. (Requirement 1.1.2.1.2)
- Users shall be able to create and interact visual posts in each category under Gallery Tab. (Requirement 1.1.4.1.1)
- Users shall be able to reply another visual post while creating one to start a Challenge. (Requirement 1.1.4.1.2)
- Users shall not be able to tag other users in the post. Only way to reply other than commenting is by Challenge. (Requirement 1.1.4.6)
Related Mock-Ups
6 - Semantic Search and Filtering
Scenario
John Doe, an enthusiastic 3D modeler known for his intricate medieval designs, logs into the platform with his credentials. He is particularly interested in finding a specific Visual Post related to "medieval armor" that he remembers seeing last week in the Character Design Category. To begin, John types "medieval armor" into the search bar and selects the "Character Design" Category. The search results display all relevant posts, including both Visual Posts and Text-Only Posts. John then filters the results to show only Visual Posts and clicks on a specific post to view more details. After checking it out, he returns to the search results and adjusts the filters to view posts tagged as "Tournament Entry." Finding a post that intrigues him, he bookmarks it and leaves a like on another. Finally, John clears the search and starts a new search for posts created by a user he follows, who specializes in medieval armor designs. He also verifies that his previous search for "medieval armor" is logged in the search history feature.
Acceptance Criteria
- Users shall be able to write a comment to a post. (Requirement 1.1.4.5)
- The system shall allow users to search posts, Categories and users by semantic searching. (Requirement 1.2.3.1)
- The system shall keep the search history of every user for better searching experience. (Requirement 1.2.3.2)
- 1.1.4.4 Users shall be able to like, dislike and bookmark a post.
- The feed shall be refreshable. (Requirement 1.2.4.2) The application shall respond to user interactions within a maximum of 2 seconds for at least 90% of requests. (Requirement 2.4.1)
- The application architecture shall be designed to accommodate an increase in user traffic by at least 100% without significant degradation in performance, which includes both horizontal and vertical scaling strategies. (Requirement 2.4.2)