Requirements - bounswe/bounswe2022group4 GitHub Wiki
-
User: A person who uses or interacts with the application.
-
Guest: A person who uses or interacts with the application as an unregistered user.
-
Regular User: A person who uses or interacts with the application as a registered user.
-
Health Professional: Health care professionals from different specialties.
-
Admin: A user type that has special privileges to manage the system.
-
Category: Any medical specialty or subspecialty.
-
Chatbot: Application that simulates conversation with human users.
-
Follow: Feature that user can use for tracking the discussion thread.
-
Unfollow: Feature that user can use for untracking the discussion thread.
-
Discussion Thread: Series of posts in forum or comment section that revolves around a single focused topic.
-
Notification: The action to notify users.
-
Username: Identification used by the users to access application.
-
Password: Secret word or phrase that must be used to access application.
-
Ban: Prohibit the access of the user from the application.
-
Report: To inform admins of someone's bad or illegal posts or comments.
-
Homepage: The introductory page of the application.
-
Search: The functionality that enables users to search a content in application.
-
Chat: Format that allows users to communicate with other users online.
-
Upvote: Feature that allows users to signal their approval or support for a post.
-
Validate: Check the accuracy of a document.
-
Sort: Put the data in a certain place or rank according to a class.
-
Filter: List the data by multiple criteria or conditions.
-
Post: Piece of writings with attachments under categories that are intended to share a medical experience or domain-specific knowledge.
-
Tag: An entity denoting a feature about a post.
-
Comment: Tool of communication and discussion under a post.
-
Tool: Some medical tests like BMI calculator, Body Surface Area Calculator, Pregnancy Due Date Calculator etc.
-
Timeline: Medium of displaying posts under followed categories and of followed health professionals.
-
Location: The physical address of a user.
-
Patient: An individual under certain medical care.
-
Disease: A pathological process, deviation from a biological norm.
-
Illness: A feeling or an experience of unhealth which is entirely personal, interior to the person of the patient (No disease can be found.).
-
Symptom: Any indication of disease perceived by the patient.
-
Drug: Any substance, other than food, used in the prevention, diagnosis, alleviation, treatment, or cure of disease.
-
Authentication: The ability to prove that a user is who that person claims to be.
-
Forum: A medium for sharing a medical experience or domain-specific knowledge via posts.
-
KVKK: The Law on the Protection of Personal Data No. 6698 in Turkey
-
1.1.1.1 Sign Up
- 1.1.1.1.1 Users shall provide their first name and last name.
- 1.1.1.1.2 Users shall provide a username and e-mail address that are unique in the system.
- 1.1.1.1.3 Users shall be prevented from registration if they enter a username or email address that is already in use .
- 1.1.1.1.4 Users shall set a password that is longer than 8 characters and contains at least one upper-case letter, one lower-case letter, and one number.
- 1.1.1.1.5 Users shall confirm the password by writing the same password again.
- 1.1.1.1.6 Users shall verify their registration process via email verification.
- 1.1.1.1.7 Health professionals shall be able to register as privileged users.
- 1.1.1.1.8 Health professionals shall provide all the information that users provide for registration.
- 1.1.1.1.9 Health professionals shall provide some additional information regarding their educational backgrounds and professional experience.
- 1.1.1.1.10 Health professionals shall be verified by administrators.
- 1.1.1.1.11 Health professionals shall be privileged after their proficiency is verified.
-
1.1.1.2. Sign In
- 1.1.1.2.1 Users shall provide their e-mails and passwords for signing in.
- 1.1.1.2.2 Users shall get a warning message if the provided e-mail or password is wrong.
- 1.1.1.2.3 Users shall see the home page after signing in successfully.
- 1.1.1.2.4 Users shall be able to reset their passwords.
-
1.1.1.3. Reset Password
- 1.1.1.3.1 Users shall provide their e-mail accounts for resetting their passwords.
- 1.1.1.3.2 Users shall be able to select a new password after verifying the code that is sent to their emails.
-
1.1.2.1 Forum
- 1.1.2.1.1 Users shall be able to create posts.
- 1.1.2.1.2 Users shall be able to comment under other users' posts and comments.
- 1.1.2.1.3 Users shall add a title while creating posts.
- 1.1.2.1.4 Users shall add body text to their posts and comments.
- 1.1.2.1.5 Users shall be able to add images to their posts and comments.
- 1.1.2.1.6 Users shall select categories of their posts from a specified set of categories.
- 1.1.2.1.7 Users shall be able to share locations in their posts and comments.
- 1.1.2.1.8 Users shall be able to read a post shared by another user.
- 1.1.2.1.9 Users shall be able to edit their posts and comments.
- 1.1.2.1.10 Users shall be able to delete their posts and comments.
- 1.1.2.1.11 Users shall be able to report other users' posts and comments.
- 1.1.2.1.12 Users shall be able to upvote other users' posts and comments.
- 1.1.2.1.13 Users shall be able to see all posts.
- 1.1.2.1.14 Users shall be able to refer to an external link in their posts or comments using hyperlinks.
- 1.1.2.1.15 Users shall get a notification after their posts or comments record an activity.
- 1.1.2.1.16 Users shall see health professionals' comments on posts as top comments.
- 1.1.2.1.17 Users shall be able to follow health professionals.
- 1.1.2.1.18 Users shall be able to unfollow health professionals.
- 1.1.2.1.19 Users shall be able to follow categories.
- 1.1.2.1.20 Users shall be able to unfollow categories.
- 1.1.2.1.21 Health professionals shall be able to change the categories of any post.
- 1.1.2.1.22 Admins shall get a notification after a post is reported.
- 1.1.2.1.23 Admins shall be able to delete any post or comment if required.
- 1.1.2.1.24 Admins shall send a message to the post owner when a post is deleted.
-
1.1.2.2 Profile Pages
- 1.1.2.2.1 Users shall have a profile page.
- 1.1.2.2.2 Users shall see other users' user type from their profile pages.
- 1.1.2.2.3 Users shall see other users' avatars from their profile pages.
- 1.1.2.2.4 Users shall see other users' past comments and post from their profile pages.
- 1.1.2.2.5 Users shall have their usernames visible on their profile pages.
- 1.1.2.2.6 Users shall have a label above their avatars that indicates their user type.
- 1.1.2.2.7 Health professionals shall have a label above their avatars that indicates their user type.
- 1.1.2.2.8 Health professionals shall have their real names visible on their profile pages.
- 1.1.2.2.9 Admins shall have a label above their avatars that indicates they are admins.
-
1.1.2.3 Chatting
- 1.1.2.2.1 Users shall be able to send text messages to each other.
- 1.1.2.2.2 Users shall be able to block another user.
- 1.1.2.2.3 Users shall be able to unblock a user that they blocked.
- 1.1.2.2.4 Users shall not be able to send messages to users who blocked them.
- 1.1.2.2.5 Users shall not be able to receive messages from users who blocked them.
-
1.1.2.4 Timeline
- 1.1.2.4.1 Users shall be able to see followed health professionals.
- 1.1.2.4.2 Users shall be able to see followed categories.
- 1.1.2.4.3 Users shall be able to see posts from followed health professionals with filtering and sorting options.
- 1.1.2.4.4 Users shall be able to see posts from followed categories with filtering and sorting options.
1.1.1 Authentication
1.1.2. User Interactions
- 1.2.1.1. The system shall enable users to search for a user.
- 1.2.1.2. The system shall enable users to search a tag.
- 1.2.1.3. The system shall enable users to make an advanced search based on a keyword and/or date and/or location.
- 1.2.1.4. The system shall provide a sorting option that reorders posts by their posted date.
- 1.2.1.5. The system shall provide a sort option that reorders posts by their number of comments.
- 1.2.1.6. The system shall provide a sort option that reorders posts by their number of upvotes.
- 1.2.1.7. The system shall provide a filtering option that filters posts according to their categories.
- 1.2.1.8. The system shall provide a filtering option that filters posts according to their posted date.
- 1.2.1.9. The system shall provide a filtering option that filters posts according to their owners' user type.
-
1.2.2.1. The system shall give recommendations to health professionals:
- 1.2.2.1.1 Recommended posts shall be relevant to the proficiency of the health professional.
- 1.2.2.1.2. Recommended posts shall be relevant to recently replied post tags by the health professional.
-
1.2.2.2. The system shall give recommendations to users:
- 1.2.2.2.1. Recommended posts shall be relevant to recently viewed and created post categories by the user.
- 1.2.2.2.2. The system shall recommend posts from followed health professionals.
- 1.2.2.2.3. The system shall recommend top posts from the categories.
-
1.2.3.1. Chatbot shall provide a set of predetermined questions that users can select between them.
-
1.2.3.2. Chatbot shall have a set of follow-up questions for every predetermined question.
-
1.2.3.3. Chatbot shall ask follow-up predetermined questions after users select a question.
-
1.2.3.4. Chatbot shall include predetermined questions about how users can use a specific functionality of the application.
-
1.2.3.5. Chatbot shall provide information related to questions selected by the user.
-
1.2.4.1. The system shall give users and health professionals the option to enable/disable the notification system for themselves.
-
1.2.4.2. The system shall send a notification to a user when a new post is created with followed tags.
-
1.2.4.3. The system shall have notification settings about created, replied to, and followed posts.
- 1.2.4.3.1. Notification settings shall include the options 'notify when a health professional replied' and 'notify when any user replied.'
- 1.2.4.3.2. Notification settings shall have an option to stop getting notifications from a post.
-
1.2.4.4. The system shall send a notification to the admin when a user reports an inappropriate post.
-
1.2.5.1. The system shall show the number of upvotes and downvotes given to a post or comment.
-
1.2.5.2. The system shall show the number of comments made to a post or comment.
-
1.2.5.3. The system shall show the category of a post.
-
1.2.5.4. The system shall recommend posts from followed health professionals and categories.
-
1.2.5.5. The system shall delete the whole discussion thread if the main post is deleted.
-
1.2.5.6. The system shall highlight health professionals' comments on posts and display them as top comments.
-
1.2.5.7. The system shall provide healthcare-related categories to users.
-
1.2.5.8. The system shall display the top posts of the current category.
-
1.2.6.1. Admins shall be able to see reported posts and comments.
-
1.2.6.2. Admins shall be able to ban users from the system temporarily or permanently.
-
1.2.6.3. Admins shall be able to delete posts and comments.
1.2.1. Search
1.2.2. Recommendation
1.2.3. Chatbot
1.2.4. Notification
1.2.5. Forum
1.2.6. Admin Features
- 2.1.1. The system shall always run up to 2000 users.
- 2.1.2. The system shall be portable for website and application.
- 2.1.3. The system shall respond to any user no later than 4 seconds.
- 2.2.1. The system language shall be English.
- 2.2.2. The system shall be available as a native web application in browsers.
- 2.2.3. The system shall be available as a native mobile application on Android platforms.
- 2.3.1. The system shall prevent various cyber-attacks by providing SSL certificates to its users (HTTPS).
- 2.3.2. The system shall perform input validation properly wherever input is received such as forms, chatbot, etc.
- 2.3.3. The system shall provide an access control policy such that users cannot act outside of their intended permission.
- 2.3.4. The system shall use two-factor authentication for users trying to log into their accounts.
- 2.3.5. The system shall properly implement security configurations and perform any necessary hardening.
- 2.3.6. *The system shall ensure an ongoing plan for monitoring, triaging, and applying updates or configuration changes for the lifetime of the application.
- 2.3.7. The system shall use the HTTPS protocol to transfer encrypted data over the web.
- 2.4.1. The annotations shall be compliant with the W3C Web Annotation Data Model.
- 2.5.1 The system shall contain a comprehensive, clear, and accessible privacy policy.
- 2.5.2. The system shall comply with the Law on the Protection of Personal Data No. 6698 (KVKK).
- 2.5.3. The system shall comply with GDPR.
- 2.5.4. Users shall accept the privacy policy suggested when registering.