Requirements - bounswe/bounswe2025group8 GitHub Wiki

Neighborhood Assistance Board - Requirements

Table of Contents


Revision History

Date Description Author Commit ID
Apr 22 Ambiguity related to User/ Registered user/ Guest user is solved erayyuklu 155c848
Apr 19 Add Revision History Table and an Introduction subsection sonwezali c70a417
Mar 17 Update the requirements according to feedback sonwezali d5ef63b
Mar 17 Updated Requirements (markdown) musakaangny 89e42ac
Mar 17 Some correction in functional requirements musakaangny 871ed6e
Mar 17 All changes in functional requirement are completed. musakaangny 636b18b
Mar 15 "Review & Rating System", "Admin & Moderation Features", "Payments & Monetization" and "Bookmarking" parts are added under section 1.2. ebruozcaki 923b0a2
Mar 13 Changes made in 1.1 and 2.2. musakaangny 1107cf9
Mar 9 Change non-functional requirements uveysyademir 1f298ed
Mar 7 Additions and edits according to customer meeting erayyuklu cc8e6f6
Mar 4 Updated Requirements (markdown) musakaangny ce491bc
Mar 4 Added the first draft of the glossary aahmeterensal 868bb8f
Feb 28 Edits on User Requirements erayyuklu 6b258ea
Feb 28 Added the draft version of requirements sonwezali f45aecd

Introduction

The Neighborhood Assistance Board is a community-driven web and mobile platform designed to connect individuals who need help with those willing to offer assistance. It empowers registered users to post and manage various types of assistance requests—such as grocery shopping, tutoring, or minor repairs—and enables volunteers to browse, accept, and complete tasks based on their availability and location.

The platform prioritizes accessibility, trust, and usability, with features like personalized feeds, volunteer tracking, ratings and reviews, and privacy-preserving communication. It also supports community-based moderation and task categorization to enhance safety and relevance.

This document outlines the complete set of functional and non-functional requirements that guide the development of the system.

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.3 Registered users shall have password recovery options available.

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.3 Registered User

  • 1.1.3.1 Registered users shall be able to create, edit, and delete assistance requests.
  • 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.4 Administrator

  • 1.1.4.1 Administrators shall be able to manage registered user accounts.
  • 1.1.4.2 Administrators shall be able to monitor and moderate content posted on the platform.

1.1.5 Registered User Interactions

  • 1.1.5.1 Registered users shall be able to communicate.
  • 1.1.5.2 Registered users shall be able to rate and review each other after task completion.

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.7 Feed

  • 1.1.7.1 Registered users shall have a personalized feed displaying relevant assistance requests.
  • 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.5 Registered users shall be able to attach photos to task requests when relevant.
  • 1.1.8.6 Registered users shall be able to use auto-creation option for recurring tasks.
  • 1.1.8.7 Recurring tasks should not be re-created if no volunteers were assigned. Non-recurring tasks should expire on the deadline.

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.
  • 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.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.2 Registered users shall have the ability to customize notification settings (e.g., email, push notifications).
  • 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.4 Notifications shall be sent for updates related to users, bookmarked users, tasks, and potentially specific categories.
  • 1.2.1.5 Notification settings shall not be customizable by users.

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.
  • 1.2.2.2 Registered user profiles shall be accessed through searching and filtering. Location and rating shall be used as filters.
  • 1.2.2.3 The engagement metrics, including the number of created tasks, completed tasks, completion rate, and average rating, shall be incorporated into the default task sorting criteria
  • 1.2.2.4 There shall be an option to filter tasks by rating and a sorting feature.
  • 1.2.2.5 The task titles shall be searchable.
  • 1.2.2.6 The default sorting shall be based on a combination of criteria, including deadline, location, and the registered user's past activity. However, all users shall have the flexibility to customize the sorting criteria according to their preferences.

1.2.3 Labels

  • 1.2.3.1 Registered users shall be able to add tags/labels to their assistance requests to improve discoverability.
  • 1.2.3.2 The system shall allow filtering based on labels.

1.2.4 Review & Rating System

  • 1.2.4.1 Reviews shall consist of a score and a comment, no categories.
  • 1.2.4.2 Registered users shall be able to dispute or appeal negative reviews through the reporting system including report type and description.
  • 1.2.4.3 There shall be reporting system to prevent fake reviews.
  • 1.2.4.4 Reviews shall not be anonymous.
  • 1.2.4.5 Registered users shall be able to see their improvement over time through badges (5 tasks completed, 10 tasks completed etc.; graphs are optional).

1.2.5 Admin & Moderation Features

  • 1.2.5.1 There could be admins selected from registered users of the communities (optional).
  • 1.2.5.2 Community admins shall be able to close tasks with a comment, delete tasks, suspend accounts, but not have control over privacy-related matters.
  • 1.2.5.3 Foul language shall be reported by registered users.

1.2.6 Payments & Monetization

  • 1.2.6.1 There shall not be any kind of payment system.
  • 1.2.6.2 Voluntary donations would sustain the app.

1.2.7 Bookmarking

  • 1.2.7.1 Registered users shall be able to bookmark tasks, and follow each other.
  • 1.2.7.2 Bookmarked items shall be organized using predefined tags provided by community admins, allowing users to select these tags for searching.
  • 1.2.7.3 Registered users shall receive notifications when a bookmarked task is updated.
  • 1.2.7.4 Bookmarks shall be kept private.

2. Non-Functional Requirements

2.1 Performance and Scalability

  • 2.1.1 The system shall provide a responsive experience with page load times of under 2 seconds for 95% of user requests, ensuring smooth interactions across devices.
  • 2.1.2 The system shall efficiently handle varying levels of traffic by supporting up to 5,000 concurrent users and processing up to 500 requests per second during peak hours.
  • 2.1.3 The system shall continuously monitor performance metrics—including average response time, server load, and downtime—to maintain optimal operation, targeting a minimum uptime of 99.9%.

2.2 Accessibility/Availability

  • 2.2.1 The platform shall conform to WCAG 2.1 Level AA standards and ensure that at least 95% of its pages are designed to be highly accessible to all users, including those with disabilities..
  • 2.2.2 The system shall maintain an availability target of 99.9% uptime, which translates to no more than approximately 8.77 hours of downtime per year.

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.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

Glossary

  • Credentials: Authentication information (e.g., username and password) used to verify a user's identity.

  • Registered Users: Individuals who have created an account on the platform, allowing them to access personalized features.

  • Guest User: An unregistered visitor who can browse public assistance requests but has limited platform interactions.

  • All users: Registered users and guest users.

  • Register: The process of creating an account by providing necessary credentials and personal details.

  • Log In: The action of accessing a registered account by entering valid credentials.

  • Public Assistance Requests: Tasks or services posted on the platform that are visible to all users, including guest users.

  • Post a Request: The action of creating a new assistance request by providing task details and requirements.

  • Volunteer: A user who offers to help with an assistance request posted by another user.

  • Dashboard: A personalized interface displaying user's current activities and past activities.

  • Administrator: A user with elevated privileges responsible for managing users, monitoring activities, and ensuring platform integrity.

  • Feed: A dynamic list of relevant assistance requests to users, allowing them to browse and select tasks.

  • Notification: Alerts or messages informing users about important updates, such as new requests, volunteer sign-ups, or task completions.

  • Tags/Labels: Keywords or categories assigned to assistance requests for better organization and searchability.

  • Verification: The process of confirming the authenticity of users or tasks to maintain trust and safety within the platform.

  • Requester: Any registered user who creates or posts assistance requests.