Skip to content

[OLD]Requirements

Mücahit Erdoğan Ünlü edited this page Sep 24, 2024 · 1 revision

📗 Glossary

  • User: A person who uses the application or website. Can be registered or unregistered.
  • Guest user: A user who uses the application or website without logging in to the system.
  • Registered user: A user who is registered and uses the application or website as logged in.
  • Username: A unique string that identifies the registered user.
  • Password: A string that is used by the user to authenticate the system.
  • Account: An instance associated with the user when a user registers to the system.
  • Post: An instance that has a title, a text, an image (optionally), a publication and an edit date, an author, like counter, a list of people that liked the post. Each post is linked to a specific comics item for semantic searching purposes.
  • Author: A registered user and the creator of a post.
  • Profile: The page where a registered user's username, biography, profile picture, registration date, following list, and follower list are presented.
  • Mute: When a registered user mutes another registered user, he will no longer see posts of the muted user.
  • Block: When a registered user blocks another registered user, the blocked user will no longer see posts of the blocker.
  • Feed: A list of posts presented to a user.
  • Metadata Information: Information about a topic, a character, etc. that is obtained from Wikidata API.
  • Semantic Searching: A search key taken from user is used to find items related to comics using wikidata API. They are sorted by their sitelinks. Then the posts that are related to the items are shown in the same sorted order.

🧱 1. Functional Requirements

1.1 User Requirements

1.1.1 Account Requirements
  • 1.1.1.1 Users shall be able to register the system by providing a username, email, and password.

  • 1.1.1.2 Registered users shall be able to log in to the system by providing username and password.

  • 1.1.1.3 Registered users shall be able to reset their passwords.

    • 1.1.1.3.1 Registered users should receive email when they reset their passwords.
  • 1.1.1.4 Registered users shall be able to delete their accounts.

    • 1.1.1.4.1 Registered users should receive email when they delete their accounts.
  • 1.1.1.5 Registered users shall be able to log out from the system.

  • 1.1.1.6 Registered users should have a profile page.

    • 1.1.1.6.1 Registered users should be able to edit their profile.
    • 1.1.1.6.2 Registered users should be able to put up a profile picture.
    • 1.1.1.6.3 Registered users should be able to put up a biography.
1.1.2 Post Requirements
  • 1.1.2.1 Create

    • 1.1.2.1.1 Registered users shall be able to create posts by providing a title and text.
    • 1.1.2.1.2 The post author should be able to provide an image for the post.
    • 1.1.2.1.3 Users shall be able to see the author of the post.
    • 1.1.2.1.4 Users shall be able to link their posts to a comics item by providing a tag
  • 1.1.2.2 Like

    • 1.1.2.2.1 Users shall be able to see how many people have liked the post.
    • 1.1.2.2.2 Users shall be able to see who liked the post.
    • 1.1.2.2.3 Registered users shall be able to like a post.
    • 1.1.2.2.4 Registered users shall be able to unlike a post.
  • 1.1.2.4 Bookmark

    • 1.1.2.4.1 Users should be able to see how many people have bookmarked the post.
    • 1.1.2.4.2 Registered users shall be able to bookmark a post.
    • 1.1.2.4.3 Registered users shall be able to unbookmark a post.
  • 1.1.2.5 Edit

    • 1.1.2.5.1 Users should be able to see that the post is edited.
    • 1.1.2.5.2 Registered users should be able to edit their own posts.
  • 1.1.2.6 Delete

    • 1.1.2.6.1 Users should not be able to see a deleted post.
    • 1.1.2.6.2 Registered users should be able to delete their posts.
  • 1.1.2.7 Disassociation

    • 1.1.2.7.1 Users should not be able to see a disassociated post's author.
    • 1.1.2.7.2 Registered users should be able to disassociate themselves from their posts.
1.1.3 User Interaction Requirements
  • 1.1.3.1 User-to-User Interactions

    • 1.1.3.1.1 Registered users shall be able to follow other registered users.

      • 1.1.3.1.1.1 Users shall be able to see the followers of a registered user.
      • 1.1.3.1.1.2 Users shall be able to see how many people follow a registered user.
      • 1.1.3.1.1.3 Users shall be able to see the people whom a registered user follows.
      • 1.1.3.1.1.4 Users shall be able to see how many people a registered user follows.
    • 1.1.3.1.2 Registered users should be able to mute other registered users.

      • 1.1.3.1.2.1 Registered users should not be able to see muted users' posts in search results.
    • 1.1.3.1.3 Registered users should be able to block other registered users.

      • 1.1.3.1.3.1 Registered users who have been blocked by another user should not be able to see the posts whose author is the blocker.
    • 1.1.3.1.4 Registered users shall be able to unfollow a followed registered user.

  • 1.1.3.2 User-to-System Interactions

    • 1.1.3.2.1 Users shall be able to search for posts.
      • 1.1.3.2.1.1 Users should be able to sort the results by most liked or most recent.
      • 1.1.3.2.1.2 Users should be able to filter the results according to the posts' authors and date of posting.
1.1.4 Searching and Browsing Requirements
  • 1.1.4.1 Users shall be able to search for posts by semantic searching.
  • 1.1.4.2 Users shall be able to see metadata information that the post is related to.
  • 1.1.4.3 Users should be able to sort the results by most liked or most recent.
  • 1.1.4.4 Users should be able to filter the results according to authors and publication date.

1.2 System Requirements

1.2.1 Semantic Search
  • 1.2.1.1 The system shall be able to query wikidata API search with specific keywords.
1.2.2 Feed
  • 1.2.2.1 The system should provide a feed for users.
    • 1.2.2.1.1 The system should show recently published posts to guest users.
    • 1.2.2.1.2 The system should show the registered user's followings' recently published posts to the registered user.
1.2.3 Authentication
  • 1.2.3.1 The system shall only allow a username and an email address that is not used before upon registration.
  • 1.2.3.2 The system shall remove the user's information when a user deletes his account.
  • 1.2.3.3 The system shall hash users' authentication information.

✨ 2. Non-functional Requirements

2.1 Performance Requirements

2.1.1 Response Time
  • 2.1.1.1 The system-user interaction should respond in an acceptable time.
  • 2.1.1.2 The system-network interaction should result in an acceptable time.
2.1.2 Resource Utilization
  • 2.1.2.1 The system should use CPU in an efficient manner.
  • 2.1.2.2 The system should use memory in an efficient manner.

2.2 Security Requirements

2.2.1 Authentication
  • 2.2.1.1 The system should implement password-based authentication.
2.2.2 Authorization
  • 2.2.2.1 The system should prevent unauthorized access to accounts.
2.2.3 Secure Communications
  • 2.2.3.1 The system should be encrypted and secured by HTTPS protocol.
2.2.4 User Privacy
  • 2.2.4.1 The users should accept the terms of use and privacy policy upon registration.
  • 2.2.4.2 The system must follow the rules of KVKK and GDPR.

2.3 Compatibility Requirements

2.3.1 Browser Compatibility
  • 2.3.1.1 The system should support Chrome version 124.0.6356.6 or later.
2.3.2 Mobile Compatibility
  • 2.3.2.1 The system should support Android version 14 or later.

BOUNSWE2024 - G11

Logo Turquiz App

⏳ Status

DONE

🧑🏼‍💻 Team

📝 Diagrams

📆 Lab Reports

📆 Meeting Notes

📍 Milestones

📎 Planning

📚 User Scenarios / Stories

📚 Resources

🔎 Research

🗂️ Templates

Clone this wiki locally