Skip to content

The Priorities of the Requirements

ahmetkudu edited this page Dec 5, 2023 · 1 revision

Glossary

  • Admin: Privileged user that manage and ban any user.
  • Annotation: Resource referring to another resource with the link, image, etc.
  • Authentication: Make a new user registered by an authentication mail or other ways.
  • Comment: Response to a post by a user.
  • Creator of the LFG: User who wants to set up a group.
  • Company: Organizations in the platform that have active roles in game industry.
  • Downvote: A negative user feedback that shows disagreement with a post or a comment.
  • Field: An attribute of a game object.
  • Geolocation: The actual location(latitude and longitude) of the user.
  • Guest: User that does not sign up to the platform .
  • Group: Those who want to play games and the game development they want to make the community.
  • Filter: Finding post, LFG titles or user name according to the entered key.
  • User: People that use the platform .
  • Upvote: A positive user feedback that shows agreement with a post or a comment.
  • LFG: Special contents for users looking for group to play games.
  • Post Owner: Creator user of a particular post.
  • Post: A particular content that enables user to share their thoughts, feelings, feedbacks with a particular content for example a game review, discussion, guide etc.
  • Report: Action to inform admins that a particular user's unwanted behavior such as hate speech.
  • Tag: Identification labels of posts, groups, and users.
  • Searchbar: Type of an input that enables searching profiles, LFGs, etc.

Requirements

1. Functional Requirements

1.1 User Requirements

1.1.1 Authentication
  • 1.1.1.1 Guests shall provide their full name, a valid username, an unregistered, a valid password to sign up. (2)
  • 1.1.1.2 Guests shall verify their email addresses. (2)
  • 1.1.1.3 Users shall be able to login and logout to platform. (completed)
  • 1.1.1.4 Users shall be able to reset, and change their passwords. (completed)
1.1.2 Profile
  • 1.1.2.1 Users shall be able to show their own profile pages. (completed)
  • 1.1.2.2 Users shall be able to view other profile pages which are visible. (1)
  • 1.1.2.3 Users shall be able to delete their own profile pages. (2)
  • 1.1.2.4 Users shall be able to edit their profile pictures on the profile page. (completed)
  • 1.1.2.5 Users shall be able to edit their about sections on the profile page. (completed)
  • 1.1.2.6 Users shall be able to show their own roles on the profile page. (2)
  • 1.1.2.7 Users shall be able to edit their profile status (visibility) to others on the profile page. (2)
  • 1.1.2.8 Users shall be able to have tags on the profile page. (1)
  • 1.1.2.9 Users shall be able to write titles that are members of company on the profile page. (2)
  • 1.1.2.10 Users shall be able to show their like history on their profile page. (1)
  • 1.1.2.11 Users shall be able to edit the tags on their profile. (1)
  • 1.1.2.12 Users shall be able to show the posts, game pages, and LFGs that they own, on their profile. (1)
1.1.3 User Interactions
1.1.3.1 User-User Interaction
  • 1.1.3.1.1 Users shall be able to view profiles of other users. (1)
  • 1.1.3.1.2 Users shall be able to follow other users. (1)
1.1.3.2 User-Forum Interaction
  • 1.1.3.2.1 Users shall be able to create posts. (completed)
  • 1.1.3.2.2 Users shall be able to update their posts. (completed)
  • 1.1.3.2.3 Users shall be able to delete their posts. (completed)
  • 1.1.3.2.4 Users shall be able to create comments. (completed)
  • 1.1.3.2.5 Users shall be able to update their comments. (completed)
  • 1.1.3.2.6 Users shall be able to delete their comments. (completed)
  • 1.1.3.2.7 Users shall be able to report posts. (1)
  • 1.1.3.2.8 Users shall be able to report comments. (1)
  • 1.1.3.2.9 Users shall be able to upvote posts. (1)
  • 1.1.3.2.10 Users shall be able to downvote posts. (1)
  • 1.1.3.2.11 Users shall be able to upvote comments. (completed)
  • 1.1.3.2.12 Users shall be able to downvote comments. (completed)
  • 1.1.3.2.13 Users shall be able to add tags to their posts. (1)
  • 1.1.3.2.14 Users shall be able to reply to posts. (1)
  • 1.1.3.2.15 Users shall be able to reply to comments. (completed)
  • 1.1.3.2.16 Users shall be able to select the type of their post categories. (completed)
  • 1.1.3.2.17 Users shall be able to filter post categories in the forum according to their types. (1)
  • 1.1.3.2.18 Users shall be able to view the names of the post owners in the forum. (completed)
  • 1.1.3.2.19 Users shall be able to add related game page to posts. (1)
  • 1.1.3.2.20 Users shall be able to add annotations to posts. (2)
1.1.3.3 User-Game Page Interaction
  • 1.1.3.3.1 Users shall be able to request creating game pages. (1)
  • 1.1.3.3.2 Users shall be able to request updating game pages and adding/deleting details. (1)
  • 1.1.3.3.3 Users shall be able to display game pages. (completed)
  • 1.1.3.3.4 Users shall be able to upvote game pages. (1)
  • 1.1.3.3.5 Users shall be able to downvote game pages. (1)
  • 1.1.3.3.6 Users shall be able to navigate through recommended topics. (2)
  • 1.1.3.3.7 Users shall be able to report game pages. (2)
  • 1.1.3.3.8 Users shall be able to add annotation to game pages. (2)
1.1.3.4 User-LFG Interaction
  • 1.1.3.4.1 Users shall be able to create LFGs. (3)
  • 1.1.3.4.2 Users shall be able to update LFGs. (3)
  • 1.1.3.4.3 Users shall be able to delete LFGs. (3)
  • 1.1.3.4.4 Users shall be able to join LFGs. (3)
  • 1.1.3.4.5 Users shall be able to add details name of the game, title, required platform, required language, mic/cam required and member capacity information to LFG during the creation. (3)
  • 1.1.3.4.6 Users shall be able to comment on the LFGs. (3)
  • 1.1.3.4.7 Users shall be able to upvote comments on LFGs. (3)
  • 1.1.3.4.8 Users shall be able to downvote comments on LFGs. (3)
  • 1.1.3.4.9 Users shall be able to add annotations to LFGs. (3)
1.1.3.5 User-Searchbar Interaction
  • 1.1.3.5.1 Users shall be able to search for post titles according to the key provided. (3)
  • 1.1.3.5.2 Users shall be able to search for LFG titles according to the key provided. (3)
  • 1.1.3.5.3 Users shall be able to search for other users according to the key provided. (3)
  • 1.1.3.5.4 Users shall be able to see their search history. (3)
1.1.4 Admin
  • 1.1.4.1 Admins shall be able to see reports with the related forums. (3)
  • 1.1.4.2 Admins shall be able to see reports with the related LFGs. (3)
  • 1.1.4.3 Admins shall be able to see reports with the related game pages. (3)
  • 1.1.4.4 Admins shall be able to ban users. (3)
  • 1.1.4.5 Admins shall be able to see approve/reject game page requests from users. (1)
  • 1.1.4.6 Admins shall be able to apply any kind of necessary create/update/delete operation to the contents of the platform. (3)
1.1.5 Guest
1.1.5.1 Guest-Registered User Interaction
  • 1.1.5.1.1 Guests shall be able to view the profiles of registered users. (3)
1.1.5.2 Guest-Forum Interaction
  • 1.1.5.2.1 Guests shall be able to view the posts in the forum. (3)
  • 1.1.5.2.2 Guests shall be able to filter post categories in the forum according to their types. (3)
  • 1.1.5.2.3 Guests shall be able to view the names of the post owners in the forum. (3)
1.1.5.3 Guest-Game Page Interaction
  • 1.1.5.3.1 Guests shall be able to view game pages and their details(see 1.2.3). (3)
1.1.5.4 Guest-LFG Interaction
  • 1.1.5.4.1 Guests shall be able to view LFGs and their details(see 1.2.4). (3)
1.1.5.5 Guest-Searchbar Interaction
  • 1.1.5.5.1 Guests shall be able to search for post titles according to the key provided. (3)
  • 1.1.5.5.2 Guests shall be able to search for game page titles according to the key provided. (3)
  • 1.1.5.5.3 Guests shall be able to search for LFG titles according to the key provided. (3)
  • 1.1.5.5.4 Guests shall be able to search for other users according to the key provided. (3)

1.2 System Requirements

1.2.1 Recommendation [DRAFT]
  • 1.2.1.1 The platform shall provide recommendations based on the recommendation logic. (2)
  • 1.2.1.2 The recommendations provided by the platform shall be able to be visible on relevant places. (2)
1.2.2 Forum
  • 1.2.2.1 Posts that are created by users shall be visible in the forum. (completed)
  • 1.2.2.2 Creating dates of the posts shall be visible in the forum. (completed)
  • 1.2.2.3 Related tags of the posts shall be visible in the forum. (1)
  • 1.2.2.4 Number of upvotes given to the posts shall be visible in the forum. (completed)
  • 1.2.2.5 Number of downvotes given to the posts shall be visible in the forum. (completed)
  • 1.2.2.6 Number of upvotes given to the comments shall be visible in the forum. (completed)
  • 1.2.2.7 Number of downvotes given to the comments shall be visible in the forum. (completed)
  • 1.2.2.8 The platform shall mark posts of the post owners as "Original Poster". (3)
  • 1.2.2.9 The platform shall mark comments of the post owners as "Original Poster". (3)
  • 1.2.2.10 The platform shall sort posts in the forum according to their creating dates. (completed)
1.2.3 Game Pages
  • 1.2.3.1 Admin-approved game pages that are created/updated by users shall be public. (1)
  • 1.2.3.2 Creating dates of the game pages shall be visible in the interface. (completed)
  • 1.2.3.3 Games pages shall be searchable by the users. (3)
  • 1.2.3.4 Game pages shall include the game genre chosen from the options - Role-Playing Games (RPG), Strategy, Shooter, Sports and Racing, Fighting, and MOBA (Multiplayer Online Battle Arena). (completed)
  • 1.2.3.5 Game pages shall include the platform(s) on which the game is available, selected from Xbox, Computer, PS (PlayStation), and OnBoard. (completed)
  • 1.2.3.6 Game pages shall include information about the in-game avatar, including the GameID, Name, and Description. (completed)
  • 1.2.3.7 Game pages shall include the number of players indicating the supported number of players, which can be Single, Multiple, or MMO (Massively Multiplayer Online). (completed)
  • 1.2.3.8 Game pages shall include the release year in which the game was released. (completed)
  • 1.2.3.9 Game pages shall include universe information, which is the setting or theme of the game, similar to "Medieval" for example. (completed)
  • 1.2.3.10 Game pages shall include mechanics information describing the gameplay mechanics used in the game, which can include Turn-Based, Chance-Based, etc. (completed)
  • 1.2.3.11 Game pages shall include playtime specifying the estimated duration of a game session or how long a game typically lasts. (completed)
  • 1.2.3.12 Game pages shall include the official title of the game. (completed)
  • 1.2.3.13 Game pages shall include map information. (3)
  • 1.2.3.14 Game pages shall include a game poster. (1)
1.2.4 LFGs
  • 1.2.4.1 LFG that are created by users shall be visible in the groups. (3)
  • 1.2.4.2 Title of the LFG shall be visible in the groups. (3)
  • 1.2.4.3 Creator of the LFG shall be visible in the groups. (3)
  • 1.2.4.4 Creation date of the LFG shall be visible in the groups. (3)
  • 1.2.4.5 Related tags of the LFG shall be visible in the groups. (3)
  • 1.2.4.6 LFGs shall contain the name of the game, title, required platform, required language, mic/cam required and member capacity informations. (3)
  • 1.2.4.7 LFGs shall contain a brief description. (3)
  • 1.2.4.8 LFGs shall be searchable by the users. (3)
  • 1.2.4.9 LFGs shall be able to contain tags. (3)
  • 1.2.4.10 Number of upvotes given to the comments on LFG, shall be visible. (3)
  • 1.2.4.11 Number of downvotes given to the comments on LFG, shall be visible. (3)
1.2.5 Annotation
  • 1.2.5.1 Texts shall be annotated in the platform. (2)
  • 1.2.5.2 URL shall be annotated in the platform. (2)
  • 1.2.5.3 Images shall be annotated in the platform. (2)
1.2.6 Search
  • 1.2.6.1 Search shall be semantic. (3)

2. Non-Functional Requirements

2.1 Security
  • 2.1.1 The platform shall use HTTPS protocol. (completed)
  • 2.1.2 The platform shall meet the modern SSL requirements. (3)
  • 2.1.3 All sensitive user data, such as passwords, shall be encrypted using a salted hashing algorithm(such as SHA-256). (completed)
2.2 Privacy
  • 2.2.1 The platform shall strictly adhere to the regulations of GDPR and KVKK. (3)
  • 2.2.2 The data usage of the users shall be clearly stated in platform’s policies. (3)
  • 2.2.3 Users shall be notified when the data policies change. (3)
  • 2.2.4 The privacy policy and user agreement shall be made available for users to read, accept, or decline. (3)
  • 2.2.5 Users should have the ability to get their personal data as allowed by the regulations. (3)
2.3 Accessibility & Availability
  • 2.3.1 Language of the platform shall be English. (completed)
  • 2.3.2 The web interface and the android application shall support the same functionality. (1)
  • 2.3.3 The platform should support UTF-8 character encoding. (completed)
  • 2.3.4 Annotations should comply to the W3 Web Annotation Data Model (2)
2.4. Performance and Reliability
  • 2.4.1. The platform shall respond to any request in at most 1 second. (1)
  • 2.4.2. The platform shall support at least 10000 user accounts. (1)
  • 2.4.3. The platform shall take a backup of the database every day. (3)
Clone this wiki locally