Skip to content

Requirements

ahmetkudu edited this page Oct 21, 2023 · 44 revisions

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.
  • 1.1.1.2 Guests shall verify their email addresses.
  • 1.1.1.3 Users shall be able to login and logout to platform.
  • 1.1.1.4 Users shall be able to reset, and change their passwords.
1.1.2 Profile
  • 1.1.2.1 Users shall be able to show their own profile pages.
  • 1.1.2.2 Users shall be able to view other profile pages which are visible.
  • 1.1.2.3 Users shall be able to delete their own profile pages.
  • 1.1.2.4 Users shall be able to edit their profile pictures on the profile page.
  • 1.1.2.5 Users shall be able to edit their about sections on the profile page.
  • 1.1.2.6 Users shall be able to show their own roles on the profile page.
  • 1.1.2.7 Users shall be able to edit their profile status (visibility) to others on the profile page.
  • 1.1.2.8 Users shall be able to have tags on the profile page.
  • 1.1.2.9 Users shall be able to write titles that are members of company on the profile page.
  • 1.1.2.10 Users shall be able to show their like history on their profile page.
  • 1.1.2.11 Users shall be able to edit the tags on their profile.
  • 1.1.2.12 Users shall be able to show the posts, game pages, and LFGs that they own, on their profile.
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.3.1.2 Users shall be able to follow other users.
1.1.3.2 User-Forum Interaction
  • 1.1.3.2.1 Users shall be able to create posts.
  • 1.1.3.2.2 Users shall be able to update their posts.
  • 1.1.3.2.3 Users shall be able to delete their posts.
  • 1.1.3.2.4 Users shall be able to create comments.
  • 1.1.3.2.5 Users shall be able to update their comments.
  • 1.1.3.2.6 Users shall be able to delete their comments.
  • 1.1.3.2.7 Users shall be able to report posts.
  • 1.1.3.2.8 Users shall be able to report comments.
  • 1.1.3.2.9 Users shall be able to upvote posts.
  • 1.1.3.2.10 Users shall be able to downvote posts.
  • 1.1.3.2.11 Users shall be able to upvote comments.
  • 1.1.3.2.12 Users shall be able to downvote comments.
  • 1.1.3.2.13 Users shall be able to add tags to their posts.
  • 1.1.3.2.14 Users shall be able to reply to posts.
  • 1.1.3.2.15 Users shall be able to reply to comments.
  • 1.1.3.2.16 Users shall be able to select the type of their post categories. (açıkla)
  • 1.1.3.2.17 Users shall be able to filter post categories in the forum according to their types.
  • 1.1.3.2.18 Users shall be able to view the names of the post owners in the forum.
  • 1.1.3.2.19 Users shall be able to add related game page to posts.
  • 1.1.3.2.20 Users shall be able to add annotations to posts.
1.1.3.3 User-Game Page Interaction
  • 1.1.3.3.1 Users shall be able to request creating game pages.
  • 1.1.3.3.2 Users shall be able to request updating game pages and adding/deleting details.
  • 1.1.3.3.3 Users shall be able to display game pages.
  • 1.1.3.3.4 Users shall be able to upvote game pages.
  • 1.1.3.3.5 Users shall be able to downvote game pages.
  • 1.1.3.3.6 Users shall be able to navigate through recommended topics.
  • 1.1.3.3.7 Users shall be able to report game pages.
  • 1.1.3.3.8 Users shall be able to add annotation to game pages.
1.1.3.4 User-LFG Interaction
  • 1.1.3.4.1 Users shall be able to create LFGs.
  • 1.1.3.4.2 Users shall be able to update LFGs.
  • 1.1.3.4.3 Users shall be able to delete LFGs.
  • 1.1.3.4.4 Users shall be able to join LFGs.
  • 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.
  • 1.1.3.4.6 Users shall be able to comment on the LFGs.
  • 1.1.3.4.7 Users shall be able to upvote comments on LFGs.
  • 1.1.3.4.8 Users shall be able to downvote comments on LFGs.
  • 1.1.3.4.9 Users shall be able to add annotations to LFGs.
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.
  • 1.1.3.5.2 Users shall be able to search for LFG titles according to the key provided.
  • 1.1.3.5.3 Users shall be able to search for other users according to the key provided.
  • 1.1.3.5.4 Users shall be able to see their search history.
1.1.4 Admin
  • 1.1.4.1 Admins shall be able to see reports with the related forums.
  • 1.1.4.2 Admins shall be able to see reports with the related LFGs.
  • 1.1.4.3 Admins shall be able to see reports with the related game pages.
  • 1.1.4.4 Admins shall be able to ban users.
  • 1.1.4.5 Admins shall be able to see approve/reject game page requests from users.
  • 1.1.4.6 Admins shall be able to apply any kind of necessary create/update/delete operation to the contents of the platform.
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.
1.1.5.2 Guest-Forum Interaction
  • 1.1.5.2.1 Guests shall be able to view the posts in the forum.
  • 1.1.5.2.2 Guests shall be able to filter post categories in the forum according to their types.
  • 1.1.5.2.3 Guests shall be able to view the names of the post owners in the forum.
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).
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).
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.
  • 1.1.5.5.2 Guests shall be able to search for game page titles according to the key provided.
  • 1.1.5.5.3 Guests shall be able to search for LFG titles according to the key provided.
  • 1.1.5.5.4 Guests shall be able to search for other users according to the key provided.

1.2 System Requirements

1.2.1 Recommendation [DRAFT]
  • 1.2.1.1 The platform shall provide recommendations based on the recommendation logic.
  • 1.2.1.2 The recommendations provided by the platform shall be able to be visible on relevant places.
1.2.2 Forum
  • 1.2.2.1 Posts that are created by users shall be visible in the forum.
  • 1.2.2.2 Creating dates of the posts shall be visible in the forum.
  • 1.2.2.3 Related tags of the posts shall be visible in the forum.
  • 1.2.2.4 Number of upvotes given to the posts shall be visible in the forum.
  • 1.2.2.5 Number of downvotes given to the posts shall be visible in the forum.
  • 1.2.2.6 Number of upvotes given to the comments shall be visible in the forum.
  • 1.2.2.7 Number of downvotes given to the comments shall be visible in the forum.
  • 1.2.2.8 The platform shall mark posts of the post owners as "Original Poster".
  • 1.2.2.9 The platform shall mark comments of the post owners as "Original Poster".
  • 1.2.2.10 The platform shall sort posts in the forum according to their creating dates.
1.2.3 Game Pages
  • 1.2.3.1 Admin-approved game pages that are created/updated by users shall be public.
  • 1.2.3.2 Creating dates of the game pages shall be visible in the interface.
  • 1.2.3.3 Game pages shall contain the name of the game, required platform(s), an ideal description, release year, genre(s), relevant fields, recommended relevant other content.
  • 1.2.3.4 Games pages shall be searchable by the users.
1.2.4 LFGs
  • 1.2.4.1 LFG that are created by users shall be visible in the groups.
  • 1.2.4.2 Title of the LFG shall be visible in the groups.
  • 1.2.4.3 Creator of the LFG shall be visible in the groups.
  • 1.2.4.4 Creation date of the LFG shall be visible in the groups.
  • 1.2.4.5 Related tags of the LFG shall be visible in the groups.
  • 1.2.4.6 LFGs shall contain the name of the game, title, required platform, required language, mic/cam required and member capacity informations.
  • 1.2.4.7 LFGs shall contain a brief description.
  • 1.2.4.8 LFGs shall be searchable by the users.
  • 1.2.4.9 LFGs shall be able to contain tags.
  • 1.2.4.10 Number of upvotes given to the comments on LFG, shall be visible.
  • 1.2.4.11 Number of downvotes given to the comments on LFG, shall be visible.
1.2.5 Annotation
  • 1.2.5.1 Texts shall be annotated in the platform.
  • 1.2.5.2 URL shall be annotated in the platform.
  • 1.2.5.3 Images shall be annotated in the platform.
1.2.6 Search
  • 1.2.6.1 Search shall be semantic.

2. Non-Functional Requirements

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