Skip to content

Requirements

Erkam Kavak edited this page Apr 8, 2023 · 44 revisions

Glossary

  • Event: Planned organization in which the attendees are users of this platform.
  • Geolocation: The actual location(latitude and longitude) of the user.
  • Tag: Identification labels of posts, events, groups, and forums.
  • Guest: User that does not sign up to the system.
  • User: People that use the system.
  • LFG: System feature for finding groups.
  • Downvote: A negative user feedback that shows disagreement with a post or a comment.
  • Upvote: A positive user feedback that shows agreement with a post or a comment.
  • Creator of the LFG: User that create a particular LFG.
  • Company: Organizations in systems that have active roles in game industry.
  • Team: Group of esports player that are on the same sade in a game.
  • Esport Player: Particular type of registered users that have active role in a particular team or teams in a game.
  • Group: Community of a user that have same interests, purposes, etc.
  • Post: A particular content that enables user to share their thoughts, feelings, feedbacks with a particular content for example a game review, forum, etc.
  • Quota: Maximum amount of user for a particular event, that is capacity of an event.
  • Admin: Privileged user that manage and ban any user.
  • Searchbar: Type of an input that enables searching events, profiles, groups, esports players, etc.
  • Comment: Response a post by a user.
  • Chat: Private messaging system between registered users.
  • Report: Action to inform admins that a particular user's unwanted behavior such as hate speech.
  • Block: Disable a particular user to reach any profile information or activity of us.
  • Authentication: Make a newly signed up user a registered user by an authentication mail or other ways.
  • System: Video game review platform.
  • Post Owner: Creator user of a particular post.

Requirements

1. Functional Requirements

1.1 User Requirements

1.1.1 Authentication
1.1.1.1 Sign-Up
  • 1.1.1.1.1 Guests shall provide their full name to sign up.
  • 1.1.1.1.2 Guests shall provide a valid username to sign up.
  • 1.1.1.1.3 Guests shall provide an unregistered email address to sign up.
  • 1.1.1.1.4 Guests shall provide a valid password to sign up.
  • 1.1.1.1.5 Guests shall confirm their password to sign up.
  • 1.1.1.1.6 Guests shall agree to the privacy policy and terms&conditions to sign up.
1.1.1.2 Email Verification
  • 1.1.1.2.1 Guests shall receive a verification code via their registered email addresses.
  • 1.1.1.2.2 Guests shall enter the verification code to complete the email verification process.
1.1.1.3 Login
  • 1.1.1.3.1 Users shall enter their usernames or email addresses to login.
  • 1.1.1.3.2 Users shall enter their passwords to login.
1.1.1.4 Logout
  • 1.1.1.4.1 Users shall be able to logout.
1.1.1.5 Forgot Password
  • 1.1.1.5.1 Users shall enter their registered email addresses.
  • 1.1.1.5.2 Users shall receive a link to reset their passwords.
  • 1.1.1.5.3 Users shall create a new valid password using the link they received.
1.1.1.6 Change Password
  • 1.1.1.6.1 Users shall provide their current password.
  • 1.1.1.6.2 Users shall provide a new password.
  • 1.1.1.6.3 Users shall confirm their new password.
  • 1.1.1.6.4 Users shall receive a verification code via their registered email addresses.
  • 1.1.1.6.5 Users shall enter the verification code to change their password.
1.1.2 Profile
  • 1.1.2.1 All users shall be able to show their own profile pages.
  • 1.1.2.2 All users shall be able to show the other profile pages which are visible.
  • 1.1.2.3 All users shall be able to delete their own profile pages.
  • 1.1.2.4 All users shall be able to edit their profile pictures on the profile page.
  • 1.1.2.5 All users shall be able to edit their about sections on the profile page.
  • 1.1.2.6 All users shall be able to show their own roles on the profile page.
  • 1.1.2.7 All users shall be able to edit their profile status (visibility) to others on the profile page.
  • 1.1.2.8 All users shall be able to have tags on the profile page.
  • 1.1.2.9 All users shall be able to write titles that are members of communities on the profile page.
  • 1.1.2.10 All users shall be able to show their attended event history on the profile page.
  • 1.1.2.11 All users shall be able to show their upcoming events they will be attending.
  • 1.1.2.12 All users shall be able to show their like history on their profile page
  • 1.1.2.13 All users shall be able to edit the tags on their profile
  • 1.1.2.14 All users shall be able to show the posts, events, 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.1.3 Users shall be able to invite other users to the events.
  • 1.1.3.1.4 Users shall be able to form up teams with other users.
  • 1.1.3.1.5 Users shall be able to block other users.
  • 1.1.3.1.6 Users shall be able to report other users.
  • 1.1.3.1.7 Users shall be able to send chat messages to 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 comment on posts.
  • 1.1.3.2.10 Users shall be able to upvote posts.
  • 1.1.3.2.11 Users shall be able to downvote posts.
  • 1.1.3.2.12 Users shall be able to update comments.
  • 1.1.3.2.13 Users shall be able to downvote comments.
  • 1.1.3.2.14 Users shall be able to add tags to their posts.
  • 1.1.3.2.15 Users shall be able to reply to posts.
  • 1.1.3.2.16 Users shall be able to reply to comments.
  • 1.1.3.2.17 Users shall be able to select the type of their posts.
  • 1.1.3.2.18 Users shall be able to filter posts in the forum according to their types.
1.1.3.3 User-Event Interaction
  • 1.1.3.3.1 Users shall be able to create events.
  • 1.1.3.3.2 Users shall be able to update events.
  • 1.1.3.3.3 Users shall be able to delete events
  • 1.1.3.3.4 Users shall be able to participate in events.
  • 1.1.3.3.5 Users shall be able to add details to the created events.
  • 1.1.3.3.6 Users shall be able to create online or offline events.
  • 1.1.3.3.7 Users shall be able to comment on the events.
1.1.3.4 User-Group 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 groups (via LFG).
  • 1.1.3.4.5 Users shall be able to add details (see 1.2.7) to LFG during the creation.
  • 1.1.3.4.6 Users shall be able to comment on the LFGs.
1.1.3.5 User-Searchbar Interaction
  • 1.1.3.5.1 Users shall be able to search posts, events, other users and groups.
  • 1.1.3.5.2 Users shall be able to filter search results with regards to the tag.
  • 1.1.3.5.3 Users shall be able to see their search history.
1.1.4 Admin
  • 1.1.4.1 Admins shall be able to manage all contents
  • 1.1.4.2 Admins shall be able to ban users

1.2 System Requirements

1.2.1 Recommendation
  • 1.2.1.1 The platform shall provide recommendations to users based on their previous activities.
  • 1.2.1.2 The platform shall provide recommendations according to tags.
  • 1.2.1.3 The recommendations provided by the platform shall be able to be visible on the home page.
  • 1.2.1.4 The platform shall hierarchize the information used to make recommendations.
1.2.2 Forum
  • 1.2.2.1 Posts that are created by users shall be visible in the forum.
  • 1.2.2.2 Names of the post owners shall be visible in the forum.
  • 1.2.2.3 Creating dates of the posts shall be visible in the forum.
  • 1.2.2.4 Related tags of the posts shall be visible in the forum.
  • 1.2.2.5 Number of upvotes given to the posts shall be visible in the forum.
  • 1.2.2.6 Number of downvotes given to the posts shall be visible in the forum.
  • 1.2.2.7 Number of upvotes given to the comments shall be visible in the forum.
  • 1.2.2.8 Number of downvotes given to the comments shall be visible in the forum.
  • 1.2.2.9 The platform shall mark posts of the post owners as "Original Poster".
  • 1.2.2.10 The platform shall mark comments of the post owners as "Original Poster".
  • 1.2.2.11 The platform shall sort posts in the forum according to their creating dates.
1.2.3 Events
  • 1.2.3.1 Events shall be either online or offline.
  • 1.2.3.2 Offline events shall contain geotag information.
  • 1.2.3.3 Events shall contain the location information.
  • 1.2.3.4 Events shall contain the date information.
  • 1.2.3.5 Events shall contain the time information.
  • 1.2.3.6 Events shall contain the quota information.
  • 1.2.3.7 Events shall contain the number of people participating in it.
  • 1.2.3.8 Events shall contain a brief description.
  • 1.2.3.9 Events shall be searchable by the users.
  • 1.2.3.10 Events shall be able to contain tags.
1.2.4 Annotation
  • 1.2.4.1 Texts shall be annotated in the forum.
  • 1.2.4.2 URL shall be annotated in the forum.
  • 1.2.4.3 Images shall be annotated in the forum.
  • 1.2.4.4 Annotations should comply to the W3 Web Annotation Data Model.
  • 1.2.4.5 Texts can be highlighted in the forum.
1.2.5 Search
  • 1.2.5.1 All posts shall be searched in the forum.
  • 1.2.5.2 All events shall be searched in the forum.
  • 1.2.5.3 All groups shall be searched in the forum.
  • 1.2.5.4 All users shall be searched in the forum.
  • 1.2.5.5 All esport players shall be searched in the forum.
  • 1.2.5.6 Search shall be semantic.
  • 1.2.5.7 Searches shall be filtered by tags.
  • 1.2.5.8 Searches shall be filtered by sorting (nearest - furthest).
  • 1.2.5.9 Searches shall be filtered by titles.
  • 1.2.5.10 Searches shall be filtered by teams.
  • 1.2.5.11 Searches shall be filtered by companies.
  • 1.2.5.12 Searches shall be filtered by geotag.
1.2.6 Groups
  • 1.2.6.1 LFG that are created by users shall be visible in the groups.
  • 1.2.6.2 Title of the LFG shall be visible in the groups.
  • 1.2.6.3 Creator of the LFG shall be visible in the groups.
  • 1.2.6.4 Creation date of the LFG shall be visible in the groups.
  • 1.2.6.5 Related tags of the LFG shall be visible in the groups.
  • 1.2.6.6 LFGs shall contain the name of the game, title, required platform, required language, mic/cam required and member capacity informations.
  • 1.2.6.7 LFGs shall contain a brief description.
  • 1.2.6.8 LFGs shall be searchable by the users.
  • 1.2.6.9 LFGs shall be able to contain tags.
  • 1.2.6.10 Number of upvotes given to the comments on LFG, shall be visible.
  • 1.2.6.11 Number of downvotes given to the comments on LFG, shall be visible.

2. Non-Functional Requirements

2.1 Security
  • 2.1.1 The system shall use HTTPS protocol.
  • 2.1.2 The system 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.1.4 Users shall be notified of suspicious activities of their accounts.
  • 2.1.5 Users shall be notified in the event of a password change.
2.2 Privacy
  • 2.2.1 The system shall strictly adhere to the regulations of GDPR and KVKK.
  • 2.2.2 The data usage of the users shall be clearly stated in system’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 download their personal data as allowed by the regulations.
  • 2.2.6? Groups should have the option to adjust their privacy settings, allowing them to choose whether they are visible to the public or kept private.
  • 2.2.7? Events should have the option to adjust their privacy settings, allowing them to be either publicly visible or restricted.
2.3 Accessibility & Availability
  • 2.3.1 Language of the system 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.4. Performance and Reliability
  • 2.4.1. The platform shall respond to any request in at most 5 seconds.
  • 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