-
Notifications
You must be signed in to change notification settings - Fork 2
Requirements
Aaron Keys edited this page Oct 16, 2023
·
4 revisions
Id | Name | Description | Priority (1: required, 2: desired, 3: aspirational) | Rationale | Relevant Design |
---|---|---|---|---|---|
Feature 1: Gamer Discovery | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#discovery-page | ||||
1.1 | Post Discovery | The user can search for posts. | 1 | ||
1.1.1 | Game filter | Filter posts by game. | 1 | ||
1.1.2 | Date and time filter | Filter posts by date and time. | 1 | ||
1.1.3 | Mic filter | Filter posts by mic or no mic communication. | 2 | ||
1.1.4 | Tag filter | Filter posts by tags. | 2 | ||
1.1.5 | Required players filter | Filter posts by the number of players required. | 3 | ||
1.1.6 | Current players filter | Filter posts by the number of players in the post. | 3 | Filter posts that still need many people to start playing, or vice versa. | |
1.1.7 | Filter by user | Filter posts by users. | 3 | ||
1.1.8 | Friends filter | Filter posts by friends. | 3 | Find what friends are planning on playing. | |
1.1.9 | Location filter | Filter posts by location. | 3 | Find nearby or low ping posts. | |
1.1.10 | Text search | Filter posts by words or phrases. | 3 | ||
1.1.11 | Sort by time | Sort post seraches by time. | 2 | ||
1.1.12 | Sort by players | Sort post seraches by players. | 3 | similar to 1.16 | |
1.1.13 | Join post | Join a post from the search result. | 1 | ||
1.2 | User Discovery | The user can search for other users. | 2 | 2 because will function without but would be great for connecting. | |
1.2.1 | Username filter | Filter players for users by username. | 2 | ||
1.2.2 | Text search | Filter players for users by bio words or phrases. | 3 | ||
1.2.3 | Mic filter | Filter players by mic or no mic communication. | 3 | ||
1.2.4 | Location filter | Filter players by location. | 3 | Find people with low ping or nearby. | |
1.2.5 | Game filter | Filter players by played games. | 3 | ||
1.2.6 | Gender filter | Filter players for users by gender. | 3 | ||
1.2.7 | Age filter | Filter players for users by age. | 3 | ||
1.2.8 | Tag filter | Filter players by tags. | 3 | ||
1.2.9 | Sort alphabetically | Sort players alphabetically. | 2 | ||
1.2.10 | Friends request | Friend request a user from the search result. | 2 | ||
1.3 | Group Discovery | The user can search for other Groups. | 3 | 2 because just posts will work. Users can use discord or other communication means. | |
1.3.1 | Name filter | Filter groups by name. | 2 | ||
1.3.2 | Text search | Filter groups for users by bio words or phrases. | 3 | ||
1.3.3 | Mic filter | Filter groups by mic or no mic communication. | 3 | ||
1.3.4 | Location filter | Filter groups by location. | 3 | Find people with low ping or nearby. | |
1.3.5 | Tag filter | Filter groups by tags. | 3 | ||
1.3.6 | Sort alphabetically | Sort groups alphabetically. | 3 | ||
1.3.7 | Join request | The player can to join group from its search result. | 2 | ||
1.4 | Misc Discover Functionality | ||||
Favorite searches | Users should be able to save and load searches. | 3 | Reuse frequent searches | ||
Recent Searches | Users should be able to reuse recent searches. | 3 | Revisit previous session | ||
Feature 2: Posts | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#post-page | ||||
2.1 | Remove Post | Users should be able to remove their posts | 1 | Users may want to be able to remove their post once they found the right people to game with | |
2.2 | Post Creation | Users should be able to create posts | 1 | Users need to be able to create posts so that other users can find people to game with | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#create-page |
2.2.1 | Title | Posts should have a title - required | 1 | Need a title for a quick summary of the post | |
2.2.2 | Game | Posts should have 1 game - required | 1 | Need a game so users know which game they are looking to play | |
2.2.3 | Tags | Posts can have tags associated with it - not required | 1 | Allowing tags helps with filtering | |
2.2.4 | Description | Posts can have a text description - not required | 1 | Descriptions can give more information about the post | |
2.2.5.1 | Date | Posts can have a date - not required | 2 | Having a date can be helpful if users are looking to play on a specfic date | |
2.2.5.2 | Time | Posts can have a time - not required | 2 | Time can be helpful for a specific time, but must have a date if including time | |
2.2.6 | Mic | Posts can have a mic option - not required | 3 | To let other users know if you're using a mic or not | |
2.2.7 | Max Players | Posts can have a maxinum number of players - not required | 2 | Some games you may want to limit the number of players. A CS:GO pickup game has a max of 10 players | |
2.2.8 | Location | Posts can have a location - not required | 3 | Location can be important so users know if they will have similar ping | |
2.3 | Post Editing | Users should be able to edit their posts | 2 | Users should be able to edit posts, incase they make a mistake when initially creating it | |
2.3.1 | Title | Users can edit the title of a post | 2 | Users should be able to edit posts, incase they make a mistake when initially creating it | |
2.3.2 | Tags | Users can change the tags on a post | 2 | Users should be able to edit posts, incase they make a mistake when initially creating it | |
2.3.3 | Description | Users can edit the description of a post | 2 | Users should be able to edit posts, incase they make a mistake when initially creating it | |
2.3.4.1 | Date | Users can edit the the date of a post | 2 | Users should be able to edit posts, incase they make a mistake when initially creating it | |
2.3.4.2 | Time | Users can edit the time of a post | 2 | Users should be able to edit posts, incase they make a mistake when initially creating it | |
2.4 | Join Post | Users should be able to join a post | 1 | Joining a post gives users access to the chat associated with that post | |
2.5 | Leave Post | Users should be able to leave a post | 1 | Leaving a post will take away access to the chat assocaited with the post | |
2.6 | Remove Player | The creator of a post should be able to remove players that have joined | 3 | The creator may want to remove toxic/unwanted players from the post | |
2.7 | Display Post | The post should be displayed on a page with it's post information | 1 | Need to be able to view post information | |
2.8 | Ban from Post | The creator of a post should have the ability to ban certain users from joining their post | 3 | Users may not want specific players interacting with their posts | |
2.9 | Open/Closed Posts | The user should have the ability to set the post as opened or closed. Open posts allow anyone to join with no restrictions, while closed posts require users to request to join the post | 3 | Users may want to ensure quality of users when they join their post | |
Feature 3: Friends | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#user-profile-page | ||||
3.1 | Add Friend | Allows a user to add another player by their user id. | 2 | Users should be able to keep track of people they enjoyed playing with, so they're able to enjoy the application to the fullest extent. | |
3.2 | Remove Friend | Allows a user to remove another player by their user id. | 2 | Users should be able to remove people from their friends list, who they no longer wish to play with constantly. | |
3.3 | Visit Friends Profile | Allows the user to visit the profile of users on their friends list. | 3 | Users should be able to see what types of games that their friends have favorited. If their friends play other games that the user does, and the user doesn't know, it allows them to discover more games they can play together in the future. | |
3.4 | View Friends | Allows users to see their friends | 2 | Users should be able to see the friends on their friends list. | |
3.4.1 | View Online Friends | Allows users to see which friends they have online. | 3 | Users should be able to see which friends are online, so they can know when to send them messages to organize gameplay, for fun, etc. | |
3.4.2 | View Offline Friends | Allows users to see which friends they have offline. | 3 | Users should be able to see which friends are offline, so they can know when to send them messages to organize gameplay, for fun, etc. | |
3.5 | View Number of Friends | Allows users to see the number of friends they have | 3 | Users should be able to see the number of friends. This is especially true, if we set a limit, and they have to remove someone. | |
3.5.1 | View Number of Online Friends | Allows users to see the number of friends they have online. | 3 | Users should be able to see how many friends they have online | |
3.5.2 | View Number of Offline Friends | Allows users to see the number of friends they have offline. | 3 | Users should be able to see how many friends they have offline | |
Feature 4: Groups | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#group-page | ||||
4.1 | Create Group | The user can create a group. | 2 | Need to be able to create a group for other users to join. | |
4.1.1 | Create Group Description | The user can create a description. | 2 | A description is needed so that other users can know what type of group they are before a user joins. | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#create-page |
4.1.2 | Create Private Group | The user can create a group that is private | 2 | Users should be able to restrict who can see their group. | |
4.2 | Join Group | The user can join a group of other users. | 2 | Need to be able to join a group of other users to have a reliable group to play with. | |
4.3 | View Group Members | The user can see all the current members in a group. | 2 | Need to be able to see all other members before or after the user joins a group. | |
4.4 | Rate Groups | The user can leave a rating on a group. | 3 | Users should only be able to leave a rating out of five on group they are or have been a member of. | |
4.5 | Leave Groups | The user can leave the group | 2 | Users should be able to leave a group for any reason. | |
4.6 | Add Group Image | The user can upload an image on a group | 2 | Users should be able to add an image, which represents their group, upon group creation | |
4.7 | Change Group Image | The user can change the image they have select for their group | 2 | Users should be able to change an image, which represents their group, during or after group creation. | |
4.8 | Group roles | A user can give out roles. | 3 | A creator of a group should be able to hand out different roles to members of their group. | |
Feature 5: Account Management | |||||
5.1 | Change password | The user can change their password | 2 | Need to be able to change their passwords when necessary. | |
5.2 | Change Username | The user can change their username | 3 | Need to be able to change their username when wanted | |
5.3 | Change Personal Information | The user can change all of their personal information | 2 | Need to be able to update information when there are changes. | |
5.3.1 | Change name | The user can change their first and last name | 3 | Need to change their first or last name. | |
5.3.2 | Change email adress | The user can change their email. | 3 | Need to update their email used for their account. | |
5.7 | Sign up | The user can create an account. | 1 | Needs to be able to create an account for the web app | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#sign-up-page |
5.7.1 | Sign in | The user can sign into account. | 1 | Need to be able to sign into account after creation. | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#sign-in-page |
5.8 | Delete account | The user can delete their account | 2 | A user needs to be able to delete their account. | |
5.9 | Privacy | The user can adjust their privacy settings | 2 | A user needs to be able to change their privacy needs when necessary | |
5.9.1 | Friends only messaging | The user can only have friends message them | 3 | A user needs to able to only allow friends to message them if they do not want strangers in their chats. | |
5.9.2 | Block users | The user can block other users | 3 | The user needs to be able to block other users for any reason they see fit. | |
5.9.3 | Unblock users | The user can unblock other users. | 3 | The user needs to be able to unblock any blocked users | |
Feature 6: Chat | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#chat-page | ||||
6.1 | List Chats | The user can see a list of their chats. | 2 | Need to be able to display chats, otherwise useless. A list of chats is displayed under the Social page as a redirect to the relevant chat page. | |
6.2 | Send Chats | The user can send chats. | 2 | Sending chats is crucial for communication, much easier than displaying a bunch of info in a post hoping everything is there. | |
6.2.1 | to Users | The user can send chats to another user. | 2 | Need to be able to send chats to other uesrs to get to know them before deciding to play. | |
6.2.2 | to Groups | The user can send chats to a group they are in. | 2 | Same as above but with groups | |
6.2.3 | to Posts | The user can send chats to a Post they have joined. | 2 | Same as above but with posts | |
6.3 | Receive Chats | The user can receive chats from other users. | 2 | Need to be able to receive chats as well | |
Feature 7: Social | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#social-page | ||||
7.1 | Display Overview | The user can click on the social page and begin looking through their associated items. | 2 | Users should be able to see all of their associated items in one convient location. | |
7.2 | Display Posts | The user can see a list of posts they are associated with. | 2 | Users should be able to see all the posts they are associated with without displaying the ones that they are not associated with. | |
7.3 | Display Groups | The user can see a list of groups they are a part of. | 2 | Users should be able to see only the groups they are a part of for ease of access. | |
7.4 | Display Users | The user can see a list of other users they have previously interacted with and friends. | 2 | Users should see uesrs they have previously interacted with in case they would like to play with them again or leave a review on their profile. | |
7.4.1 | Display only Friends | The user can display only their friends in the list of users. | 3 | Users should be able to hit a toggle switch that only displays their friends for ease of access. | |
7.5 | Send chat to Card | Users should be able to easily access chat to a card from the Social page. | 3 | Being able to quickly navigate to a relevant chat provides good user experience. Should redirect to relevant chat page. | |
7.6 | Leave associated item | Users should be able to leave an associated item quickly from the Social page. | 3 | Being able to quickly leave a group or post or unfrend/block a user provides good user experience. | |
Feature 8: Notifications | |||||
8.1 | Display Notification Count | The user should be able to see a notification icon with a count of their unread notifications | 3 | The user should know how many notifications they have | |
8.2 | Recieve Notifications | The user should be able to recieve live notifications when they recieve a new message, new friend request, or new comment | 3 | The user should see notifications as soon as they arrive | |
Feature 9: Comments | |||||
9.1 | Add Comment to Group page | The user should be able to add a comment to a group page | 3 | Leaving comments on group pages allows other users to see what people think of the group, without having to join it | |
9.2 | Add Comment to User page | The user should be able to add a comment to a user page | 3 | Leaving comments on user pages allows other users to see what people think of the person, without having to message them | |
9.3 | Remove Comment | The user should be able to remove comments created by them | 3 | Users may want to remove comments created by them | |
9.4 | Edit Comment | The user should be able to edit comments created by them | 3 | Users may want to edit comments created by them | |
9.5 | Display Comments | The user should be able to view comments on post/group pages | 3 | Users will need to be able to view comments | |
Feature 10: Account Profile | https://github.com/SCCapstone/PalmettoProgrammers/wiki/Design#user-profile-page | ||||
10.1 | Add a bio | The user can add a bio to their profile | 2 | The user needs to be able to add a bio about themselves that other users can see | |
10.1.1 | Change bio | The user can change their bio. | 2 | Needs to be able to update their bio. | |
10.2 | Upload Profile Picture | The user can upload an image for a profile picture. | 2 | The user should be able to use any image they upload as a profile picture | |
10.2.1 | Change their Profile Picture | The user can changer their profile picture | 2 | The user should be able to change what image is their profile picture. | |
10.3 | Favorite a Game | The user adds a game to their favorites, which is shown on their profile. | 2 | The user should be able to keep track of frequently played games |