Milestone 1 Covered Requirements - bounswe/bounswe2025group8 GitHub Wiki

Here are the requirements that are covered in Milestone 1:

1. Functional Requirements

1.1 User Requirements

1.1.1 Registration/Login

  • 1.1.1.1 Guest users shall be able to register using their credentials. These credentials are: Name, surname, username, e-mail address and phone number.
  • 1.1.1.2 Registered users shall be able to log in using their e-mail address and password.
  • 1.1.1.5 Passwords shall meet minimum strength as defined in the glossary, without any additional complexity rules.
  • 1.1.1.6 Credentials shall be stored with strong one-way hashing.
  • 1.1.1.8 Registration shall include explicit consent to privacy/terms; collect minimum necessary data only.
  • 1.1.1.9 Login/register forms shall support internationalized input, standard language tags (BCP 47), RTL (Right-to-Left) where applicable, and locale-aware dates/numbers.

1.1.2 Guest User

  • 1.1.2.1 Guest users shall be able to view public assistance requests but cannot interact with them.
  • 1.1.2.2 To post a request or volunteer, guest users shall register and log in.
  • 1.1.2.4 Where interaction is disabled for guests, the UI shall clearly explain why and how to enable access (register/login).

1.1.3 Registered User

  • 1.1.3.1 Registered users shall be able to create, edit, and delete assistance requests. (except delete)
  • 1.1.3.2 Registered users shall be able to volunteer for available requests.
  • 1.1.3.3 Registered users shall have access to a dashboard displaying their current activities and past activities.
  • 1.1.3.4 Requesters shall be able to cancel or update their tasks.
  • 1.1.3.5 Registered users shall be able to enter location for tasks manually.
  • 1.1.3.8 Location entry shall support locale formats; exact location is hidden from public by default.

1.1.6 Personal Page

  • 1.1.6.1 The system shall display each registered user’s essential information -including name, past and active tasks, average rating, total completed tasks, and reviews- without revealing the registered user’s location.
  • 1.1.6.2 Registered users shall be able to edit their personal information.
  • 1.1.6.3 Sensitive data (e.g. phone, exact location) shall not be public by default.

1.1.7 Feed

  • 1.1.7.2 All users shall be able to filter assistance requests based on relevant criteria (e.g., category, location, urgency) to facilitate easy discovery.

1.1.8 Task Creation & Management

  • 1.1.8.1 Tasks shall include: title, description, category, location, deadline, requirements, urgency level and volunteer number.
  • 1.1.8.2 All users shall be able to categorize tasks (groceries, tutoring, repairs, etc.).
  • 1.1.8.3 Volunteers shall be able to browse and search available tasks.
  • 1.1.8.4 All users shall be able to track task status (posted, assigned, in-progress, completed).
  • 1.1.8.11 Task data shall be stored securely and only shared with authorized users (e.g., assignee, requester). (Security & Protection)

1.1.9 Task Assignment & Completion

  • 1.1.9.1 Registered users shall only be able to see the exact location and phone number once they are assigned to the task.
  • 1.1.9.2 Requesters shall be able to confirm task completion.
  • 1.1.9.3 Requesters shall be able to select the assignee among volunteers. Both one-by-one and group selection approaches shall be supported.
  • 1.1.9.4 Requesters shall be able to change the assignee for a task after it was assigned to a volunteer.
  • 1.1.9.5 Registered users shall not be able to volunteer for a task once it has been assigned. However, if the assignment is canceled, the task shall become available for new volunteers.
  • 1.1.9.6 Communication of sensitive details (phone, address) shall be encrypted in transit and access-logged.

1.2 System Requirements

1.2.1 Communication & Notifications

  • 1.2.1.1 The system shall send real-time notifications when a registered user’s request is accepted or updated.
  • 1.2.1.3 Registered users shall be allowed to share their phone numbers only after a task has been assigned. A built-in chat feature is not required.
  • 1.2.1.5 Notifications shall respect user privacy: they shall not include sensitive personal data (e.g., phone number, exact address) unless explicitly authorized.
  • 1.2.1.8 All notification events shall be logged securely to provide traceability and accountability.

1.2.2 Search

  • 1.2.2.1 The system shall provide a search function allowing all users to find assistance requests based on keywords, location, and category. (except location)
  • 1.2.2.5 The task titles shall be searchable.

2. Non-Functional Requirements

2.3 Privacy and Security

  • 2.3.1 The platform shall comply with the General Data Protection Regulation (GDPR), ensuring that all personal data is processed in a lawful, transparent, and purpose-specific manner.
  • 2.3.2 The platform shall adhere to the Turkish Law on the Protection of Personal Data (KVKK) by enforcing data minimization, ensuring data accuracy, and implementing robust security measures to prevent unauthorized access and data breaches.
  • 2.3.3 The platform shall present clear and comprehensive privacy policies that detail how user data is collected, stored, processed, and shared, ensuring transparency and user awareness.
  • 2.3.4 Privacy by Design shall be applied: collect only minimum necessary data, support anonymization/pseudonymization where possible, and provide users with clear consent and control over their data.
  • 2.3.5 All sensitive data shall be encrypted both in transit and at rest, with strong authentication and access control mechanisms.

2.4 UI/UX (Usability)

  • 2.4.1 The user interface shall be designed for maximum usability, featuring intuitive navigation and a clear presentation of critical information (such as task details and user ratings) to facilitate a seamless user experience.
  • 2.4.2 The interface shall follow consistent and predictable navigation patterns, adapting to different devices and contexts (responsive/adaptive design).
  • 2.4.3 The system shall support inclusive design principles, ensuring equitable access across abilities, cultures, and demographics, and avoiding discriminatory patterns.