-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
yunusemrealtug edited this page Apr 6, 2023
·
49 revisions
Version: 0.1
Date: 2023/03/19
Prepared by : Group 7
- Melih Gezer
- Yunus Emre Altuğ
- Fatma Sena Alçı
- Furkan Ülke
- Hakan Karakuş
- Muhammet Tayyip Kamiloğlu
- Elif Kızılkaya
- Ömer Şafak Bebek
- Güney Yüksel
- Mehmet Tuluyhan Sözen
- Marcel Namyslo
Prepared for:
Boğaziçi University - CMPE 352 Fundamentals of Software Engineering - Spring 2023
Name | Date | Reason for Change | Version |
---|---|---|---|
1 | 2023/03/19 | Adding initial version | 0.1 |
Purpose
Document conventions
Product scope
References
1.1.1. Authentication
1.1.1.1. Register
- 1.1.1.1.1. Guests shall be able to register to the platform.
- 1.1.1.1.2. Guests should be able to register with their other social media accounts which are, Facebook, Google, Amazon, and Apple.
- 1.1.1.1.3. Users shall be able to verify their accounts via e-mails.
- 1.1.1.1.4. Famous developers, professional e-sports players, famous streamers, famous video producers should be able to get certificated accounts.
- 1.1.1.1.5. Users shall agree to the privacy policy and terms & conditions.
1.1.1.2. Login
- 1.1.1.2.1. Users shall be able to login the platform with email and password.
- 1.1.1.2.2. Users shall be able to logout.
- 1.1.1.2.3. Users should be able to keep accounts signed in for a week.
- 1.1.1.2.4. Users shall be able to sign in without validation when they requested to be remembered with the “Remember Me” option.
1.1.1.2.5 Password
- 1.1.1.2.5.1. Users shall be able to change their password.
- 1.1.1.2.5.2. Users shall be able to reset their password.
1.1.2. Profile Page
- 1.1.2.1. Users shall have a profile page.
- 1.1.2.2. Users shall be able to edit their profile page.
- 1.1.2.3. Users shall be able to add a profile photo or avatar to their profiles.
1.1.2.4. Personal Information
- 1.1.2.4.1. Users shall be able to have and display their full name and username on their profile page.
- 1.1.2.4.2. Users shall have a bio in their profile pages.
- 1.1.2.4.3. Users shall be able to add tags related to their favorite genre to their profiles.
- 1.1.2.4.4. Users shall be able to add their favorite games on their profiles.
- 1.1.2.4.5. Users shall be able to share the other social media accounts.
- 1.1.2.4.6. Users shall be able to add their favorite developers to their profiles.
- 1.1.2.4.7. Users shall be able to share the number of comments on the forum, the number of posts on the forum and number of reviews they published, on their profiles.
- 1.1.2.4.8. Developers and e-sports players shall be able to add their associated titles/teams/companies to their profiles.
- 1.1.2.4.9. Users shall be able to share their gaming platform profiles, which are Steam, Epic, IndieGala, Humble Bundle, Ubisoft Connect, GOG, Origins, Xbox Live, itch.io, Google Play Games, on their profiles.
- 1.1.2.4.10. Users shall be able to display their user types, that are gamer, developer, and e-sports player.
1.1.2.5. Achievements
- 1.1.2.5.1. Users should be able to share their game achievements on their profiles.
- 1.1.2.5.2. Users should be able to get and share badges on their profiles for experiences in the platform.
1.1.2.6. Activity Tracking
- 1.1.2.6.1. Users’ last activities shall be seen on their profiles.
1.1.2.7. Events
- 1.1.2.7.1. Users shall be able to display the events they attended.
- 1.1.2.7.2. Users shall be able to display the events they organized.
1.1.2.8. Forum
- 1.1.2.8.1. Users shall be able to display previews for posts which they created on their profiles.
- 1.1.2.8.2. Users shall be able to display their comments on other users’ posts.
1.1.2.9. Games
- 1.1.2.9.1. Users shall be able to display their reviews of the games.
- 1.1.2.9.2. Developers shall be able to display their upcoming titles on their profile page.
1.1.3. User Interaction
1.1.3.1. User-User Interaction
- 1.1.3.1.1. Users shall be able to message the other users.
- 1.1.3.1.2. Users shall be able to inhibit message receiving.
- 1.1.3.1.3. Users shall be able to view the other user’s profiles.
- 1.1.3.1.4. Users should be able to give reputation points to the other users.
- 1.1.3.1.5. Users should be able to follow the other users.
- 1.1.3.1.6. Users should be able to unfollow the other users.
- 1.1.3.1.7. Users shall be able to block some users not to receive message from them.
- 1.1.3.1.8. Users shall be able to unblock some users which they blocked to receive messages from them.
1.1.3.2. User-System Interaction
1.1.3.2.1. Forum
- 1.1.3.2.1.1. Guests and users shall be able to visit forum.
- 1.1.3.2.1.2. Guests shall not be able to add anything to the platform.
- 1.1.3.2.1.3. Users shall be able to open a thread.
- 1.1.3.2.1.4. Users shall be able to cite and comment to post.
- 1.1.3.2.1.5. Users shall be able to mention other users in the forum.
- 1.1.3.2.1.6. Users shall be able to like or dislike posts and comments.
- 1.1.3.2.1.7. Users shall be able to cite and comment on the other comments.
- 1.1.3.2.1.8. Users shall be able to edit their comments.
- 1.1.3.2.1.9. Users shall be able to delete their comment on the post.
- 1.1.3.2.1.10. The post owners shall be able to edit their posts.
- 1.1.3.2.1.11. The post owners shall be able to tag the their post headers.
- 1.1.3.2.1.12. Users should be able to screen image links.
1.1.3.2.2. Game Page & Reviews
- 1.1.3.2.2.1. Users and guests shall be able to view game profiles and reviews.
- 1.1.3.2.2.2. Users shall be able to rate a game out of 5.
- 1.1.3.2.2.3. Users shall be able to write reviews for the game.
- 1.1.3.2.2.4. Users shall be able to edit their reviews.
- 1.1.3.2.2.5. Users shall be able to like or dislike the other reviews.
- 1.1.3.2.2.6. Users shall be able to share their rating on their reviews.
- 1.1.3.2.2.7. Users shall be able to delete their reviews.
- 1.1.3.2.2.8. Users shall be able to follow the Game page.
1.1.3.2.3. Upcoming Titles
- 1.1.3.2.3.1. Developers shall be able to use the platform to promote their upcoming titles to other users.
- 1.1.3.2.3.2. Developers shall be able to share their new developments for the game.
- 1.1.3.2.3.3. Developers shall be able to share the launching date.
- 1.1.3.2.3.4. Developers shall be able to share a demo version of the game.
- 1.1.3.2.3.5. Developers shall be able to edit their posts.
- 1.1.3.2.3.6. Developers shall be able to tag their promotion posts.
- 1.1.3.2.3.7. Users and guests shall be able to view upcoming titles.
- 1.1.3.2.3.8. Users shall be able to comment on the upcomimg titles.
- 1.1.3.2.3.9. Users shall be able to like or dislike title post and comments.
- 1.1.3.2.3.9. Users shall be able to cite and comment on the other comments.
- 1.1.3.2.3.9. Users shall be able to edit their comments.
- 1.1.3.2.4. Users shall be able to see the content of the platform features that are forum, events, reviews, upcoming titles, communities, recommendations.
1.1.4. Events
- 1.1.4.1. Users shall be able to view events.
- 1.1.4.2. Users shall be able to create online or offline events.
- 1.1.4.3. Organizers shall be able to have a title, which has less characters than 50 characters, for their events.
- 1.1.4.4. Organizers shall be able to write a description of their events.
- 1.1.4.5. Organizers shall be able to edit their description of their events.
- 1.1.4.6. Organizers shall be able to determine a date for an event.
- 1.1.4.7. Organizers shall be able to edit the date for the event they organized.
- 1.1.4.8. Organizers shall be able to cancel an event.
- 1.1.4.9. Organizers shall be able to determine a place for an offline event via geotagging.
- 1.1.4.10. Organizers shall be able to determine a communication channel for the offline event.
- 1.1.4.11. Organizers shall be able to determine an attendee limit.
- 1.1.4.12. Users shall be able to join an event if the limit is not passed.
- 1.1.4.13. Users shall be able to leave an event that they joined.
- 1.1.4.14. Organizers shall be able to exclude users from the event.
- 1.1.4.15. Organizers shall be able to tag events with either discussion or gaming, and game name.
- 1.1.4.16. Users shall be able to comment on events.
- 1.1.4.17. Users shall be able to comment on others’ comments.
- 1.1.4.18. Users shall be able to upvote or downvote the comments of the event.
- 1.1.4.19. Users shall be able to semantically search events.
- 1.1.4.20. Users shall be able to filter events by date, location, tag and meeting types which are online and offline.
- 1.1.4.21. Users shall be able to sort events by date, number of attendee limit and number of comments.
1.1.5. Administration
- 1.1.5.1. Admins shall be able to ban the users from posting, commenting, and messaging due to illegal behavior.
- 1.1.5.2. Admins shall be able to unban the banned users.
- 1.1.5.3. Admins shall be able to delete a user account due to illegal behavior.
- 1.1.5.4. Admins shall be able to delete a thread and a post.
- 1.1.5.5. Admins shall be able to lock or unlock a thread if the problem is resolved.
- 1.1.5.6. Admins shall be able to control the content before it becomes visible to users.
1.1.6. Group
- 1.1.6.1. Users shall be able to create a group.
- 1.1.6.2. Group administrators shall be able to add a title for the group.
- 1.1.6.3. Group administrators shall be able to specify the number of members of the group.
- 1.1.6.4. Group administrators shall be able to add description to their groups.
- 1.1.6.5. Group administrators shall be able to add tags to the group.
- 1.1.6.6. Group administrators shall be able to specify the game name on their groups.
- 1.1.6.7. Group administrators shall be able to discard a group member.
- 1.1.6.8. Group administrators shall be able to add members to their groups.
- 1.1.6.9. Group administrators shall be able to make other members group administrators.
- 1.1.6.10. Group administrators shall be able to leave the group administrator role if there is another group administrator.
- 1.1.6.11. Users shall be able to display the members of the group.
- 1.1.6.12. Users shall be able to filter the groups according to games, tags, and names.
- 1.1.6.13. Users shall be able to sort the groups by number of users, number of empty slots ascending or descending.
- 1.1.6.14. Users shall be able to participate in the group unless it is full.
- 1.1.6.15. Users shall be able to leave the group.
- 1.1.6.16. Users should be able to chat with other group members.
1.2.1. Forum/Review
- 1.2.1.1. System shall have a forum.
- 1.2.1.2. System shall have a Reviews page.
- 1.2.1.3. The forum shall consist of subforums which are involved with game types or directly games.
- 1.2.1.4. The subforum shall contain threads.
- 1.2.1.5. System shall censor inappropriate words.
- 1.2.1.6. The forum and reviews should include a timestamp for each entry and the owner name should be at the top of each entry.
- 1.2.1.7. Owner of the content’s name should direct to that user’s profile page.
- 1.2.1.8. System shall display the number of followers of the game profile.
- 1.2.1.9. System shall display the tags on the game profile.
- 1.2.1.10. System shall display the reviews about the game on the game profile.
- 1.2.1.11. System should display the events of the game on the game profile.
- 1.2.1.12. System shall display the average rating of the game and users' own rating to each user.
1.2.2. Search
- 1.2.2.1. System shall allow users to search for forum thread, subforum, forum comment, message, upcoming titles, gaming communities-groups, users, and events.
- 1.2.2.2. System shall allow the user to filter the search for the users, games, events and tags.
- 1.2.2.3. System shall allow users to use sorting features ascending or descending.
- 1.2.2.4. System shall allow users to sort the threads, alphabetically, by first post date, by last post date,by number of comments in threads.
- 1.2.2.5. System shall allow users to sort the comments by date, by number of replies for the comment.
- 1.2.2.6. System shall allow users to sort the messages by date.
- 1.2.2.7. System shall allow users to sort upcoming titles by post date or launch date.
- 1.2.2.8. System shall allow users to sort events by date or number of participants.
1.2.3. Notifications
- 1.2.3.1. System shall notify the user when another user likes or comments on the user's post.
- 1.2.3.2. System shall notify the user when another user likes or comments the user's comment.
- 1.2.3.3. System shall notify the user when another user follows the user.
- 1.2.3.4. System shall send notifications to the user about other users' posts for which the user has previously turned on notifications.
1.2.4. Annotations
- 1.2.4.1.System shall allow users to annotate content on the platform with text or images.
- 1.2.4.2. Annotations can be a URI that should act as a hyperlink, or semantic resources that provide detailed information about the resource.
- 1.2.4.3. Annotations shall be compliant with the W3C Web Annotation Data Model and checked to follow W3C standards.
1.2.5.Recommendations
- 1.2.5.1. System shall recommend the posts or events according to the user's preferences.
- 1.2.5.2. System shall recommend other users according to the user's preferences.
- 1.2.5.3. System shall recommend games for users.
1.2.6. Delete Account
- 1.2.6.1 System shall allow users to delete their accounts.
- 1.2.6.2. The data and content about the deleted accounts shall be deleted from the system.
2.1. Performance & Reliability
- 2.1.1. The platform shall strive to have a Largest Contentful Paint (LCP) of 2.5 seconds or less, excluding external image and video sources, for at least 75% of page visits for both mobile application and web page.
- 2.1.2. The platform shall strive to have a First Input Delay (FID) of 100 milliseconds or less, except external image and video sources, for at least 75% of page visits for both mobile application and web page.
- 2.1.3. The platform shall strive to have a Cumulative Layout Shift (CLS) score of 0.1 or less, except external image and video sources, for at least 75% of page visits for both mobile application and web page.
- 2.1.4. The platform shall strive to have a First Contentful Paint (FCP) of 1.8 seconds or less, except external image and video sources, for at least 75% of page visits for both mobile application and web page.
- 2.1.5. The platform shall strive to have an Interaction to Next Paint (INP) of 200 milliseconds or less, except external image and video sources, for at least 75% of page visits for both mobile application and web page.
- 2.1.6. The platform shall strive to have a Time to First Byte (TTFB) of 0.8 seconds or less, except external image and video sources, for at least 75% of page visits for both mobile application and web page.
- 2.1.7. The platform shall meet these 1-6 requirements for at most 10000 users at the same time.
- 2.1.8. The platform shall have basic response time at most 4 seconds with more than 10000 users at the same time.
- 2.1.9. The platform shall back up content every day.
- 2.1.10 The platform shall be accessible at least %98 of the day.
2.2. Privacy
- 2.2.1. The rules defined by GDPR/KVKK shall be followed.
- 2.2.2. Personal information and contact information shall be protected according to GDPR.
- 2.2.3. Privacy policy shall be accepted by the user to be registered.
- 2.2.4. All information about users shall be encrypted.
- 2.2.5. Emails shall be unique and valid.
- 2.2.6. All content shall be able to be made private or public via user’s decisions.
- 2.2.7. Online or offline events can be organized public or private.
2.3. Security
- 2.3.1. Bot accounts shall be eliminated.
- 2.3.2. Passwords shall contain at least one number and one capital letter.
- 2.3.3. Verification code should be sent when logging in from a different device.
- 2.3.4. Users should be able to enable two-factor authentication for security concerns.
- 2.3.5. Users who disturb other users or violate the rules shall be banned for a period or permanently.
- 2.3.6. Annotations shall be scanned to avoid any malware.
2.4. Compatibility
- 2.4.1 The mobile application of the platform shall run on Android 7.93.4 and above.
- 2.4.2 The web site shall support versions of the following browsers: Edge, Safari, Chrome, Firefox, any browser based on Webkit / Chromium engines and Tor network.
2.5. Availability and Accessibility
2.5.1. Platform shall support the English language.
2.5.2. Platform shall support UTF-8 character encoding.
2.5.3. Platform shall have web page and Android application.
-
- Guest: Someone who has not registered or logged in to platform.
-
- User: Someone who has registered and logged in to platform.
-
- Certificated Account: An account which confirms user's real identity.
-
- Developer: A user type for a spesific users who aims to publish and advertise their games on the platform.
-
- E-sports Player: Tag for a spesific users who have been a member of a professional e-sports team.
-
- Post: A forum content of a user to start a discussion about something.
-
- Experience: Contribution of and membership duration of a user on the platform.
-
- Last Activity: An information which shows a user is online or when logged out lastly if the user is offline.
-
- Event: A planned meeting of users to do something together.
-
- Forum Comment: A reply of user to a post or another comment to the post
-
- Review: A criticism of a user about a game on a game page.
-
- Reputation points: An indicator for a user, which demonstrates how the user gets feedback about their contribution from the other users on the platform.
-
- Thread: A discussion contains both a post and comments on the post.
-
- Like: A user facility for supporting and showing interest on content of another user to enable content to be seen by more users.
-
- Dislike: A user facility for not supporting and showing disinterest on content of another user to disable content from being seen by more users.
-
- Subforum: A part of a forum, which consists of various threads on same topic.
-
- Cite: To refer an another entry on forum.
-
- Advertisement: A notice or announcement in a public medium promoting a game.
-
- Promoting Games: Advertisement of a game, which includes features of the game, launching date and more information developer wants to share, by its developer.
-
- Gamer: A user type for spesific users who like playing games.
-
- Launching date: When the game published officially for everyone.
-
- Demo Version: The version of a game which has less and more limited content than the official game.
-
- Online Event: A planned meeting of users to do something together online.
-
- Offline Event: A planned meeting of users to do something together face to face.
-
- Organizer: A creator of an event.
-
- Upvote: A user facility for supporting and showing interest on content of another user to enable content to be seen by more users.
-
- Downvote: A user facility for not supporting and showing disinterest on content of another user to disable content from being seen by more users.
-
- Group Administrator: Someone who has more authority than the other group members. The default group administrator of a group is who constitutes the group.
-
- Entry: A text of a user to reach everyone who uses the platform. Each review, post, comment is an entry.
🏠 Home
- Elif Kızılkaya
- Fatma Sena Alçı
- Furkan Ülke
- Hakan Karakuş
- Hatice Erk
- Kardelen Erdal
- Melih Gezer
- Muhammet Tayyip Kamiloğlu
- Ömer Şafak Bebek
- Tacettin Burak Eren
- Yunus Emre Altuğ
Former Team Members