This repository was archived by the owner on Dec 24, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Requirements
Orhun Görkem edited this page Apr 6, 2021
·
80 revisions
- Sample Word: Sample Text
-
1.1.1. Registration
-
1.1.1.1. Users shall register by providing a valid username, e-mail address, and password.
- 1.1.1.1.1. Valid password shall consist of 8-16 alphanumeric characters.
- 1.1.1.1.2. Valid usernames and emails shall be unique.
- 1.1.1.2. After completing step 1.1.1.1, users shall validate their e-mail addresses to complete the registration process.
- 1.1.1.3. Users should also be able to join with their Google or Facebook accounts.
-
1.1.1.1. Users shall register by providing a valid username, e-mail address, and password.
-
1.1.2. Login/Logout
- 1.1.2.1. Users shall be able to log in via their registered username/e-mail address and password.
- 1.1.2.2. Users should also be able to login with their provided Google or Facebook accounts.
- 1.1.2.3. Users shall be able to log out after logging in.
-
1.1.3. Account Management
- 1.1.3.1. Users shall be able to reset their passwords.
- 1.1.3.2. Users' accounts shall be deleted if they behave offensively.
- 1.1.3.3. Users should be able to delete their accounts.
-
1.1.4. Profile
- 1.1.4.1. Users shall have a profile page.
-
1.1.4.2. Users shall be able to add profile pictures to their profile pages.
- 1.1.4.2.1. Profile pictures shall have JPG or PNG extensions.
- 1.1.4.3. Users shall be able to add their personal information to their profiles pages.
- 1.1.4.4. Users shall be able to edit the content of their profile pages.
-
1.1.4.5. Users shall be able to set their profiles as public or private to other users.
- 1.1.4.5.1. Usernames shall be visible to guests and registered users on both public and private profiles.
-
1.2.1 Search
- 1.2.1.1. Users shall be able to search for communities using a search bar.
- 1.2.1.2. Users shall be able to search for posts using a search bar.
-
1.2.2 Follow
- 1.2.2.1. Registered users shall be able to follow communities to receive notifications about updates.
- 1.2.2.2. Registered users shall be able to turn on or off notifications.
-
1.2.3 Posting Content
-
1.2.3.1. Registered users shall be able to share posts on communities.
- 1.2.3.1.1. Registered users shall be able to include images in posts.
- 1.2.3.1.2. Registered users shall be able to include links in posts.
- 1.2.3.1.3. Registered users shall be able to include paragraphs in posts.
-
1.2.3.2. Registered users shall be able to organize events on communities.
- 1.2.3.2.1. Registered users shall provide event information such as time, location, description and requirements.
- 1.2.3.3. Registered users shall be able to join discussions on communities.
- 1.2.3.4. Registered users shall be able to add tags to their posts.
-
1.2.3.1. Registered users shall be able to share posts on communities.
-
1.2.4 Liking & Commenting
- 1.2.4.1. Registered users shall be able to comment on posts.
- 1.2.4.2. Registered users shall be able to reply to comments on posts.
- 1.2.4.3. Registered users shall be able to like posts on communities.
- 1.2.4.4. Registered users shall be able to like comments on posts.
-
1.2.5 Reporting
- 1.2.5.1. Registered users shall be able to report offensive & inappropriate posts.
- 1.2.5.2. Registered users shall be able to report offensive & inappropriate comments.
-
1.3.1. Search & Filter
- 1.3.1.1. Users shall be able to search for other users' profiles as 2.4.1 implies.
- 1.3.1.2. Users shall be able to filter their search results on users' profiles as 2.4.2 implies.
- 1.3.1.3. Users shall be able to sort their search results (Needed to ask).
- 1.3.1.4. Users shall be able to choose to view other users' profiles which are listed as search results.
-
1.3.2. Profile View & Follow
- 1.3.2.1. Users shall be able to view other users' private profiles which they follow and other users' public profiles.
-
1.3.2.2. Users shall be able to choose to follow other users' public profiles.
- 1.3.2.2.1 Users who have public profiles should get notifications when they are followed by other users.
-
1.3.2.3. Users shall be able to send request to other users who has private profiles, to follow their profiles.
- 1.3.2.3.1 Users who have private profiles should get notifications when they are requested to get followed by other users.
- 1.3.2.4. Users shall be able to unfollow users which they follow already.
- 1.3.2.5. Users shall be able to block other users to restrict them from seeing their profiles and following their profiles.
-
1.3.3.Private Messaging
-
1.3.3.1 Users shall be able to message other users.
- 1.3.3.1.1 Users should get notifications when they got message from other users as 2.2.1 implies.
- 1.3.3.2 Users shall be able block other users to restrict them from sending message to them.
-
1.3.3.1 Users shall be able to message other users.
-
1.4.1. Guest Users
- 1.4.1.1. Guest users shall be able to view public user-profiles and community content read-only.
- 1.4.1.2. Guest user shall be able to use searching functionality.
-
1.4.2. Registered Users
-
1.4.2.1. Common Users
- 1.4.2.1.1 Common users shall be able to have all privileges of guest users.
- 1.4.2.1.1 Common users shall be able to follow public communities directly.
- 1.4.2.1.1 Common users shall be able to send a request to join private communities.
-
1.4.2.2. Community Members
- 1.4.2.2.1 All features that are included in the 1.2.3 section are also for the community members.
-
1.4.2.3. Community Moderators
- 1.4.2.3.2. All features that are included in the 1.2.3 section are also for the community moderators.
- 1.4.2.3.2. Community moderators shall be able to have all privileges of basic community members.
- 1.4.2.3.3. Community Moderators shall be able to review reports.
- 1.4.2.3.4. Community moderators shall be able to remove posts, comments, users from their communities.
- 1.4.2.3.5. Community moderators shall be able to open discussions.
-
1.4.2.4. Community Creators
- 1.4.2.4.1. Community creators shall be able to have all privileges of community moderator.
- 1.4.2.4.2. Community creators shall be able to assign a new moderator or remove existing moderators from their communities.
- 1.4.2.4.3. Community creators shall be able to change community between public & private.
- 1.4.2.4.4. Community creators shall be able to close their communities.
-
-
1.4.3 Admin Users
- 1.4.3.1. Admin shall be able to have all privileges of community creators.
- 1.4.3.2. Admin shall be able to delete communities and also delete/block users
1.1. Basics
1.2. Community
1.3. User Interaction
1.4. User Roles
- 2.1.1. The system shall recommend communities and posts to users based on the communities they follow and the posts they like.
- 2.1.2. The system shall provide trending posts and communities to users.
- 2.1.3. The system shall recommend the posts of followed users.
- 2.1.4. The system shall recommend the communities of followed users.
- 2.2.1. The system shall notify users when they get private messages.
- 2.2.2. The system shall notify users when their posts get a like/dislike.
- 2.2.3. The system shall notify users when someone comments on their posts.
- 2.2.4. The system shall notify community admins when a user requests to enter their private communities.
- 2.3.1. The system shall disable users if they try to perform unauthorized actions.
- 2.3.2. The system shall allow community members to organize an event.
- 2.3.3. The system shall warn community admins if a post gets a predefined amount of reports.
- 2.3.4. The system shall allow community admins to pin a post.
- 2.3.5. The system shall highlight the posts in a community based on their popularity.
- 2.4.1. The system shall have a semantic search mechanism.
-
2.4.2. The system shall allow users to filter other users by:
- 2.4.2.1. Number of followers
- 2.4.2.2. Their locations
- 2.4.2.3. Followed communities
-
2.4.3. The system shall allow users to filter communities by:
- 2.4.3.1. Number of followers
- 2.4.3.2. Number of posts
- 2.4.3.3. Popularity
- 2.4.3.4. Tags
-
2.4.4. The system shall allow users to filter posts by:
- 2.4.4.1. Number of likes
- 2.4.4.2. Number of comments
- 2.4.4.3. Date
-
2.4.5. The system shall allow users to filter comments by:
- 2.4.5.1. Number of likes
- 2.4.5.2. Date
- 2.5.1. The system shall show a search bar, tabs and trending posts in the home page.
2.1. Recommendation
2.2. Notification
2.3. Community
2.4. Searching / Filtering
2.5. Home Page
- 3.1.1. User names and e-mails for registrations shall be valid and unique for each user.
- 3.1.2. Passwords shall be 8-16 characters long and must not contain special characters.
- 3.1.3. Passwords shall be encrypted with SHA-256 before being stored in database.
- 3.1.4. Database system shall be protected against cyber-attacks.
- 3.1.5. In the case of a log in attempt from a different device, a verification code should be sent to the e-mail address of the account owner.
- 3.1.6. In the case of a password change attempt, a verification code should be sent to the e-mail address of the account owner.
- 3.3.1. Respond times shall not exceed 3 seconds.
- 3.3.2. If an error occurs, the problem should be fixed within an hour.
- 3.3.3. Downtime occurance shall not be more than once in a month.
- 3.3.4. The platform shall support up to 10000 simultaneous users. This number should be scalable when necessary.
- 3.4.1. System shall be accessed via Android based mobile application.
- 3.4.2. System shall be accessed via web application which is supported by modern web browsers such as Chrome, Firefox, Opera and Safari.
- 3.4.3. Platform should support English language.
- 3.4.4. Platform should support all ASCII symbols and Turkish symbols.
- 3.5.1. The implementation should obey the guidelines of W3C Activity Stream Standard 2.0.
- 3.5.2. The semantic taggings should be supported with Wikidata.
3.1. Security
3.2. Privacy
3.3. Performance and Reliability
3.4. Accessibility and Availability
3.5. Standards
