Skip to content

Requirements

Alper Canberk Balcı edited this page Jan 2, 2023 · 105 revisions

Glossary

Please keep alphabetical order while editing.

  • Admin: The administrator of the platform who is responsible for evaluating reports of users, verifying doctor profiles and maintaining the system.

  • Activity history: Information of creating posts, comments, giving upvotes shown in the profile of a registered member. Posts, comments and upvotes can be accessed in separate sections of profile pages.

  • Article: Wiki contents in which registered users give information about medical-related subjects. Articles may be about illnesses, drugs, therapeutic approaches etc.

  • Article-owner: Doctor who creates the article in the Articles.

  • Articles: A platform in the project where doctors can write articles about any medical subject.

  • Ban: Prohibiting users from accessing their accounts. Banned accounts can not be used by their owners and can not be seen by other users.

  • Category: One of the major disciplines in medicine, e.g.: Neurology, Pulmonology, Cardiology, etc.

  • Chatbot A software application used to conduct an on-line chat conversation with users.

  • Comment: Responses given by registered users to a post.

  • Doctor: A registered user who has registered as a doctor and has verified that he/she is a doctor.

  • Downvote: A feature in the forum where registered users can use when they think a post or a comment does not contribute to the discussion, or they don't like or don't endorse it.

  • Follow: To be interested about a tag/category and want to track new posts and articles about this tag/category.

  • Forum: A platform in the project where registered users can ask questions, make suggestions or discussions about medical issues using posts.

  • Guest User: A user who hasn't registered to the application and does not have an account.

  • Home Page: The first page users see when they open the website/app. It is a personalized page for registered users including recent posts and articles about their followed tags.

  • Medical History: A member's past illnesses, allergies, chronic diseases, undergone operations, and used drugs. Registered users can add these information to their profile pages.

  • Member: A registered user who has registered as a member.

  • Notification Preferences: A registered user's choices of whether or not getting notifications about his/her posts, or his/her comments, or his/her articles.

  • Personal Information: A registered user's full-name, location, medical history, weight, height, and age information.

  • Post: Main content of the Forum section, in which a registered user can ask question about his/her disease, make suggestions or share his/her medical experiences. It has a title and a body.

  • Post-owner: Registered user who creates the post in the forum.

  • Private Personal Information: Personal information that is not visible to any user in the system other than the owner of the information.

  • Protected Personal Information: Personal information that is only visible to the doctors in the system.

  • Public Personal Information: Personal information that is visible to all the users in the system.

  • Rate: To upvote or downvote a post or a comment.

  • Registered User: A user who has registered to the application and has an account. It is an abstract user type. Registered Users are divided into two sub-categories: Doctor and Member.

  • Tag: A label that is about any medical subject or experience such as diseases, drugs, parts of bodies, etc.

  • Unfollow: Leave following a tag/category.

  • Upvote: A feature in the forum where registered users can use when they think a post or a comment contributes to the discussion, or they like or endorse it.

  • User: Someone who uses the application. Users are divided into two sub-categories: Registered User and Guest User.

  • Username: Name that members use in the website and app.

  • Valid username: A username which includes alphanumerical characters and which is distinct from other usernames.

1. Functional Requirements

1.1 User Requirements

  • 1.1.1 User Profile

    • 1.1.1.1 Sign-up

      • 1.1.1.1.1 Guest Users shall select their user types (Doctor-Member) while registering.
      • 1.1.1.1.2 Doctors shall prove that he/she is a doctor by providing a document while registering.
      • 1.1.1.1.3 Doctors shall provide their full name.
      • 1.1.1.1.4 Members shall provide a public and valid username.
      • 1.1.1.1.5 Guest users shall have a secure password which is longer than 8 characters and contains at least one upper-case, one lower-case, one special character and one number while registering.
      • 1.1.1.1.6 Guest users shall confirm their password while registering.
      • 1.1.1.1.7 Guest users shall register their unique e-mail to the system while registering.
      • 1.1.1.1.8 Guest users shall confirm their e-mail addresses via e-mail authentication while registering.
      • 1.1.1.1.9 Guest users shall register their date of birth to the system while registering.
      • 1.1.1.1.10 Doctors shall provide branches that they are specialized while registering.
    • 1.1.1.2 Sign-in & Sign-out

      • 1.1.1.2.1 Members shall be able to sign-in to the system using their username or e-mail and their password.
      • 1.1.1.2.2 Doctors shall be able to sign-in to the system using their e-mail and their password.
      • 1.1.1.2.3 Registered users shall be able to sign-in if they forgot their password with forgot password mechanism.
      • 1.1.1.2.4 Registered users shall be able to sign-out.
    • 1.1.1.3 Profile Pages

      • 1.1.1.3.1 Registered users shall have profile pages.
      • 1.1.1.3.2 Registered users shall have their user type (Member or Doctor) visible in their profile pages.
      • 1.1.1.3.3 Members shall have their usernames visible in their profile pages.
      • 1.1.1.3.4 Doctors shall have their real names visible in their profile pages.
      • 1.1.1.3.5 Registered users shall be able to see the activity histories in profile pages.
      • 1.1.1.3.6 Doctors shall have icons in their profiles showing that their accounts are verified.
      • 1.1.1.3.7 Doctors shall have the name of the hospitals that they work most recently in their profile pages.
    • 1.1.1.4 Settings

      • 1.1.1.4.1 Registered users shall be able to access settings page from their profile page.
      • 1.1.1.4.2 Doctors shall be able to add/delete/change profile pictures.
      • 1.1.1.4.3 Members shall be able to add/delete/change avatars.
      • 1.1.1.4.4 Registered users shall be able to modify their personal information.
      • 1.1.1.4.5 Registered users shall be able to delete their accounts.
  • 1.1.2 Platforms

    • 1.1.2.1 Forum

      • 1.1.2.1.1 Registered users shall be able to create posts in the forum.
      • 1.1.2.1.2 Registered users shall add a title and body while creating a post.
      • 1.1.2.1.3 Guest users shall not be able to create any posts.
      • 1.1.2.1.4 Guest users shall not be able to comment on any posts in the forum.
      • 1.1.2.1.5 Users shall be able to read posts.
      • 1.1.2.1.6 Registered users shall be able to create a comment in a post.
      • 1.1.2.1.7 Registered users shall be able to add images to their posts and comments.
      • 1.1.2.1.8 Registered users shall be able to add geo-location information to their posts and comments.
      • 1.1.2.1.9 Registered users shall be able to add tags to their posts.
      • 1.1.2.1.10 Doctors shall be able to add or remove tags from an existing post.
      • 1.1.2.1.11 Users shall be able to filter posts by several tags, using the search bar, given by post-owners while creating those posts.
      • 1.1.2.1.12 Registered users shall be able to refer to an external resource in their posts or comments by adding text annotations.
      • 1.1.2.1.13 Registered users shall be able to upvote or downvote a post or a comment.
      • 1.1.2.1.14 Registered users shall be able to report a post or comment to an admin if they think that it contains inappropriate or misleading content.
      • 1.1.2.1.15 Registered users should be able to edit their posts.
      • 1.1.2.1.16 Registered users should be able to delete their posts.
      • 1.1.2.1.17 Registered users should be able to edit their comments.
      • 1.1.2.1.18 Registered users should be able to delete their comments.
    • 1.1.2.2 Chatbot

      • 1.1.2.2.1 Users shall be able to reach posts related to the options they choose from chatbot decision tree.
      • 1.1.2.2.2 Users shall be able to learn probable causes for their symptoms related to the options they choose from chatbot decision tree.
      • 1.1.2.2.3 Users shall be able to learn which Category to add to posts when creating their posts, related to the options they choose from chatbot decision tree.
    • 1.1.2.3 Articles

      • 1.1.2.3.1 Only Doctors shall be able to create articles in Articles.
      • 1.1.2.3.2 Article-owners shall add a title to their articles.
      • 1.1.2.3.3 Article-owners shall be able to edit articles they created.
      • 1.1.2.3.4 Article-owners shall be able to delete articles they created.
      • 1.1.2.3.5 Users shall be able to read articles.
      • 1.1.2.3.6 Article-owners shall add tags and categories that describes which medical major the article they are creating is about while creating articles.
      • 1.1.2.3.7 Registered users shall be able to upvote or downvote an article.
    • 1.1.2.4 Following Tags/Categories

      • 1.1.2.4.1 Registered users shall be able to follow categories.
      • 1.1.2.4.2 Registered users shall be able to view their followed categories.
      • 1.1.2.4.3 Registered users shall be able to unfollow previously followed categories.
      • 1.1.2.4.4 Registered users shall have a personalized home page including recent posts about their followed categories.
  • 1.1.3 Search & Sort Requirements

    • 1.1.3.1 Searching

      • 1.1.3.1.1 Users shall be able to use search mechanism.
      • 1.1.3.1.2 Users shall be able to search posts and articles by categories.
      • 1.1.3.1.3 Users shall be able to search posts and articles by tags.
      • 1.1.3.1.4 Users shall be able to search posts, articles and user profiles by the names of the doctors that contributed to them.
      • 1.1.3.1.5 Users shall be able to search posts, articles and user profiles by the usernames.
      • 1.1.3.1.6 Users shall be able to search among posts in the Forum with the titles, body, authors of the posts.
      • 1.1.3.1.7 Users shall be able to search among articles in the Articles with the titles, body, authors of the articles.
      • 1.1.3.1.8 Registered users shall have a recent search history.
      • 1.1.3.1.9 Users shall be able to search among posts and articles with semantic tags and keywords.
      • 1.1.3.1.10 Users shall be able to search with a given geolocation and radius.
  • 1.1.4 Admin Requirements

    • 1.1.4.1 Admins shall be able to log in with their usernames and passwords from the admin login page.
    • 1.1.4.2 Admins shall be able to see posts and comments reported by registered users.
    • 1.1.4.3 Admins shall be able to remove posts and comments.
    • 1.1.4.4 Admins shall be able to see reported registered users.
    • 1.1.4.5 Admins shall be able to see profiles of all users.
    • 1.1.4.6 Admins shall be able to remove registered users from the system according to their decision.
    • 1.1.4.7 Admins shall be able to ban registered users permanently or for 1-7 days according to their decision.
    • 1.1.4.8 Admins shall be able to see verification requests of doctors
    • 1.1.4.9 Admins shall be able to verify doctors.
    • 1.1.4.10 Admins should be able to see their past activities of removing, banning registered users or verifying doctors etc.
    • 1.1.4.11 Admins should be able to see new reports and verification requests of doctors.
    • 1.1.4.12 Admins should be able to send e-mails to registered users.
    • 1.1.4.13 Admins should be able to add new admins.

1.2 System Requirements

  • 1.2.1 Platforms

    • 1.2.1.1 Forum

      • 1.2.1.1.1 System shall highlight post-owner's comments in a post by showing an "Post owner" text on top of that comment.
      • 1.2.1.1.2 System should delete all discussion-thread with its post and comments if a registered user deletes his/her post.
      • 1.2.1.1.3 System shall show number of upvotes given to a post or a comment in that post or comment.
      • 1.2.1.1.4 System should show number of downvotes given to a post or a comment in that post or comment.
      • 1.2.1.1.5 System shall sort comments of members in a post by the date of creation of the comments.
    • 1.2.1.2 Chatbot

      • 1.2.1.2.1 Chatbot shall be able to run for multiple users at the same time.
      • 1.2.1.2.2 Chatbot shall use categories to find posts and articles related to user decisions.
      • 1.2.1.2.3 Chatbot shall offer some suggestions after the query, including related categories to the discomfort and links to related posts under the given tags.

2. Non-Functional Requirements

2.1 Availability & Accessibility

  • 2.1.1 The system shall have a web application/interface, available through web browsers such as Chrome & and it shall have a native Android application, available through Android systems.
  • 2.1.2 Both interfaces shall provide the same features.
  • 2.1.3 The system language shall be English.
  • 2.1.4 The system shall support UTF-8 character encoding.

2.2 Security

  • 2.2.1 Registered users' password shall be a minimum of 8 characters long and the password shall have at least one uppercase letter, one lowercase letter, one special character, and one numeric character.
  • 2.2.2 Registered users shall be notified via e-mail if their password entry is unsuccessful three consecutive times.
  • 2.2.3 Registered users shall be notified via e-mail if their password is changed.
  • 2.2.4 System shall store hashed passwords.
  • 2.2.5 System shall use HTTPS protocol.
  • 2.2.6 System shall have a human verification tool (reCAPTCHA) to prevent bots.

2.3 Privacy

  • 2.3.1 The System shall ensure that it will store personal data in accordance with the General Data Protection Regulation(GDPR) and KVKK.
  • 2.3.2 The system shall always provide clear and accessible information regarding what type of data you collect (both personal data and health data) to users before they install the app.
  • 2.3.3 The system shall inform the user in terms of policy and make sure that the user accepts this policy while registering to the system.
  • 2.3.4 The system shall allow the user to make some information private and leave some public.

2.4 Performance

  • 2.4.1 The system shall be capable of serving 1000 users per second/at the same time.
  • 2.4.2 The system shall back-up user-expert messages once a month.
  • 2.4.3 The system shall respond to each user in less than 3 seconds.
  • 2.4.4 The system shall block an excessive amount of access requests made in a short amount of time.
  • 2.4.5 The system should work 7/24 with no more than 2% downtime.

2.5 Annotations and Standards

  • 2.5.1 Annotations shall be compliant with the W3C Web Annotation Data Model and follow W3C standards.
  • 2.5.2 Implementation of web design and application shall obey the guidelines of W3C Web Design and Application Standards.

🏠 Homepage

👤 Team Members

👤 Former Team Members

📘 About Meetings

Meeting Notes From CMPE352
Meeting Notes From CMPE451

General Meetings

Team Meetings

Backend Team Meetings
Frontend Team Meetings
Mobile Team Meetings

📌 Project

Scenarios

📌 Project Artifacts

💹 Diagrams

📝 Project Plan

📝 Deliverables

🔭 Research

📌 Practice-App

❓ Responses

Clone this wiki locally