Skip to content
This repository was archived by the owner on Dec 24, 2025. It is now read-only.

Requirements

Berk Yamanoğlu edited this page Nov 1, 2021 · 25 revisions

Glossary

  • Credentials: Users' identifiable information and details to log in. It consists of email, username and password.

  • Encryption: The method by which information is converted into secret code that hides the information's true meaning.

  • Entity: Comprehensive term for Tasks, Routines, Questions and Reflections.

  • Goal: Task or tasks that users can set and track their progress on the application.

    • Subgoal: A task that is a smaller part of a goal.
    • Description: A brief explanation of a particular goal.
  • Guest: A user that hasn’t registered yet.

  • Item: Comprehensive term for Goals, Subgoals and Entities.

  • Resources: Useful materials beneficial to achieve a specific goal.

  • Reflections: General evaluation about experiences during a goal.

  • Questions: A user's illustrative self-questions regarding to a specific goal. They help users to clarify the path of their goals.

  • Search: A tool that helps a user to find similar goals according to their input keywords.

    • Semantic Search: A search method that uses context to use the meaning of the search instead of the literal words.
  • Semantic tag: Tag that defines the theme of a goal clearly, used in semantic search.

  • User: A person who uses the application to reach their goals.

    • Group: Multiple users who are working on a common goal.
  • User Interface: The point of human-computer interaction and communication on a device or app.

  • Visibility: A property which specifies a goal is whether private or public.

1 Functional Requirements

1.1 User Requirements
  • 1.1.1 Guests

    • 1.1.1.1 Guests shall enter their e-mail, name, surname, username and a password in order to sign up.
    • 1.1.1.2 Guests should be able to sign up using their Google accounts.
    • 1.1.1.3 Guests shall be able to search for users by their username.
    • 1.1.1.4 Guests shall be able to search for public goals using the search functionality mentioned (1.2.2).
  • 1.1.2 Login

    • 1.1.2.1 Users shall be able to login using their credentials.
    • 1.1.2.2 Users should be able to login using their Google accounts.
    • 1.1.2.3 Users shall be able to reset their passwords in case of forgetting. Confirmation mail should be used in this process.
  • 1.1.3 Users

    • 1.1.3.1 Users shall be able to add their goals which contains a title, a description and subgoal(s).
    • 1.1.3.2 Users shall be able to rate their efforts towards their tasks and routines after deadline.
    • 1.1.3.3 Users shall be able to describe the practices that support these goals under resources section.
    • 1.1.3.4 Users shall be able to view and assess their progress using analytics section.
      • 1.1.3.4.1 Users should be able to filter these analytics with respect to time.
    • 1.1.3.5 Users shall be able to add the related resources to their goals.
    • 1.1.3.6 Users shall be able to modify their entities, goals, subgoals.
      • 1.1.3.6.1 Users shall be able to modify titles.
      • 1.1.3.6.2 Users shall be able to modify descriptions.
    • 1.1.3.7 Users shall be able to connect entities and subgoals of a goal to other entities and subgoals of that same goal.
    • 1.1.3.8 Users shall be able to tag goals and items with semantic tags.
    • 1.1.3.9 Users shall be able to search goals in marketplace.
    • 1.1.3.10 Users shall be able to add goals that came out of the search to themselves.
    • 1.1.3.11 Users shall be able to delete goals.
    • 1.1.3.12 Users should be able to mute and enable notifications.
    • 1.1.3.13 Users shall be able to see the items of the other users they are following in their feed.
    • 1.1.3.14 Users shall be able to add entities.
      • 1.1.3.14.1 They shall be able to add standalone entities.
      • 1.1.3.14.2 They shall be able to add entities under other items.
    • 1.1.3.15 Users shall be able to search entities.
    • 1.1.3.16 Users should be able to mute or enable notifications.
    • 1.1.3.17 Users shall be able to give feedback about their goals / subgoals.
  • 1.1.4 Groups

    • 1.1.4.1 Users shall be able to invite others using the invitation code (token).
    • 1.1.4.2 Users shall be able to join others' goals using invitation code (token).
    • 1.1.4.3 Members of the groups shall be able to rate their efforts towards entities after completing (or maybe failing to complete) them.
    • 1.1.4.4 Members of the groups shall be able to describe the practices that support this group goal under resources section.
    • 1.1.4.5 Members of the groups shall be able to view and assess their progress using analytics section.
    • 1.1.4.6 Members of the groups shall be able to add the related resources to group goal.
    • 1.1.4.7 Members of the groups shall be able to modify the entities or subgoals.
    • 1.1.4.8 Members of the groups shall be able to tag items with semantic tags.
  • 1.1.5 Interaction Between Users

    • 1.1.5.1 Users shall be able to visit others' personal page if their visibiliy is set to public, and see their public goals and analytics.
    • 1.1.5.2 Users shall be able to follow other users.
  • 1.1.6 User Interface

    • 1.1.6.1 Users shall be able to track their progress over time. They should see their weekly and monthly completion rate.
    • 1.1.6.2 Users shall be able to see their analytics related to their goals and effort expended on these goals.
1.2 System Requirements
  • 1.2.1 Goals / Subgoals

    • 1.2.1.1 The system shall provide resources section under goals / subgoals. This section should takes text, photo or question-answer as input.
    • 1.2.1.2 The system shall not allow guests to be group members.
  • 1.2.2 Searching

    • 1.2.2.1 The system shall support semantic search, which provides users to find semantically similar goals.
    • 1.2.2.2 The system shall show the popular goals to users and guests.
    • 1.2.2.3 The system shall supply usage of tags while searching.
  • 1.2.3 Notifications

    • 1.2.3.1 The system shall send notifications.
    • 1.2.3.2 The system shall notify users regarding development with respect to a plan or others' in case of collaborative contexts.
    • 1.2.3.3 The system shall notify users 1 hour before the start time of their tasks and routines.
    • 1.2.3.4 The system should notify users about users they follow.
      • 1.2.3.4.1 These notifications should be about their new goals, feedbacks, entities.
  • 1.2.4 Analytics

    • 1.2.4.1 The system shall provide analytics about activities those have common lifetimes.
    • 1.2.4.2 The system shall provide analytics about related activities.
    • 1.2.4.3 The system shall provide feedback button after deadline of items.
  • 1.2.5 Profile Management

    • 1.2.5.1 The system shall let users to view others' and their goals.
  • 1.2.6 Questions / Reflections

    • 1.2.6.1 The system shall let users to set reminders for questions.
    • 1.2.6.2 The system shall let users to mark questions as resolved.
  • 1.2.7 Login / Account Management

    • 1.2.7.1 The system should use confirmation mail upon password resetting.

2 Non-Functional Requirements

2.1 Standarts
  • 2.1.1 The system shall use the W3C Activity Stream Standart 2.0 for subscriptions and notifications.
  • 2.1.2 The system shall support semantic tags and these semantic tags should be supported with wikidata.org
2.2 Security
  • 2.2.1 User passwords shall be encrypted before storing in database using md5 or better hashing algorithms.
  • 2.2.2 The System shall use HTTPS protocol.
2.3 Portability
  • 2.3.1 The system should support modern web browsers.
    • 2.3.1.1 Chrome version >= 89
    • 2.3.1.2 Opera version >= 75
    • 2.3.1.3 Safari version >= 14
    • 2.3.1.4 Firefox version >= 85
    • 2.3.4.5 Edge version >= 89
  • 2.3.2 Android application should support mid-tier mobile phones.
    • 2.3.2.1 Android version >= 21
    • 2.3.2.2 Free storage >= 1 GB
    • 2.3.2.3 RAM >= 4 GB
2.4 Privacy
  • 2.4.1 Users should accept Privacy Policy and Terms Of Use when they sign up.
  • 2.4.2 The System shall protect the user data under KVKK and GDPR rules.

🏠 Home

System Manual

Repo Rules

Course Related

Group Members

📝 Meeting Notes (CMPE451)

Personal Efforts

Milestone Reports (CMPE451)

Documentation

Requirements

Scenarios and Mockups

Design

Terms of User & Privacy Policy

Milestone Reports (CMPE352)

🔬 Research (CMPE352)

Lessons Learned (CMPE352)

📝 Meeting Notes (CMPE352)

Clone this wiki locally