Skip to content

Requirements

Bülent Rahim Kazancı edited this page Oct 15, 2017 · 3 revisions

Functional Requirements

  1. User Account Operations

    • 1.1. User shall be able to provide their username, email and password while creating a new account.
    • 1.2. User shall be able to login to their account using username and password.
    • 1.3. User shall be able to update their username and password.
    • 1.4. User shall be able to reset their password by using their email address.
  2. Creating Content

    • 2.1. User shall be able to upload new content (image or text) by providing title, description, tag, date, location and resource itself.
  3. Displaying Content

    • 3.1. User shall be able to display content in the home page.
    • 3.2. User shall be able to have a portfolio page where he can see all the content and annotations he has created.
    • 3.3. The system shall be able to display the contents with their attributes and annotations that have been created.
  4. Searching Content

    • 4.1. User shall be able to search content by title, description, user, tag.
  5. Displaying Annotations

    • 5.1. User shall be able to see the existing annotations of content.
    • 5.2. Annotations shall be listed by their rate. The annotation having more than x dislike shall not be displayed.
    • 5.3. User shall be able to like or unlike annotations added by other users.
  6. Creating Annotations

    • 6.1. User shall be able to add annotations to the content that he has created or the content created by other users.
    • 6.2. Annotations shall be in the format of text, image.
  7. Deleting Annotations

    • 7.1. User shall be able to delete his own annotations.
  8. Editing Annotations

    • 8.1. User shall be able to edit his own annotations.

Non-Functional Requirements

  1. System shall be able to provide Android and iOS mobile applications for client usage.
  2. The system shall use open source libraries and tools.
  3. The system shall expose a Rest API allowing interaction with other systems.
  4. Contents shall be annotated regarding to W3 Web Annotation Standards through a text or image.
  5. Web service side of application shall be implemented using Java Spring.
  6. Presentation side of application shall be implemented using React Native.
  7. Data tier of application shall be implemented using MongoDB.