Functional Requirements List (Iteration 2) - GDP-Team01/GDPProject_Team01 GitHub Wiki

Functional Requirements for Food Bank Management System.

User Registration and Profiles:

  • The system MUST provide a registration form that includes username, password, email address, and role selection fields.
  • User input for email addresses MUST be validated for the correct format.
  • Passwords MUST adhere to a defined strength policy.
  • Administrators MUST have access to view and manage user profiles for monitoring and support purposes.

Donation Management:

  • Donors MUST register on the platform using a registration form with fields for username, password, email address, and organization details.
  • Users MUST NOT have the ability to delete donor profiles without appropriate administrative permissions to prevent data loss.
  • The system MUST NOT store donor passwords in plain text.
  • Donors MUST have access to a donation entry form that includes fields for quantity, type of items, and expiration dates.
  • Upon successful donation entry, the system SHALL automatically generate a donation receipt containing details such as donor information, item details, quantity, and date of donation.
  • Users MUST NOT have the ability to tamper with the content or format of automatically generated donation receipts.

Inventory Management:

  • The system MUST have a centralized database to store and manage food inventory data in real time.
  • The system SHALL supports a labeling system for efficient organization, allowing users to assign item labels or tags.
  • The system MUST generate automatic alerts when the quantity of a specific item falls below a predefined threshold, indicating low stock levels.
  • Users MUST NOT have the ability to modify the database structure to maintain data integrity directly.
  • Unauthorized users MUST NOT access or attempt to alter the centralized database.
  • Users MUST NOT be able to delete predefined system-wide categories to prevent unintentional data loss or inconsistency in categorization.
  • Users MUST NOT have the capability to override or suppress critical alerts without proper authorization.

Volunteer Management:

  • Volunteers MUST register on the platform using a registration form with fields for username, password, email address, and organization details.
  • Users MUST NOT have the ability to delete volunteer profiles without appropriate administrative permissions to prevent data loss.
  • The system MUST NOT store volunteer passwords in plain text.
  • Volunteers MUST have access to a volunteer entry form that includes fields for availability, skills.
  • Upon successful volunteer entry, the system SHALL automatically schedule for events like recruiting, assigning and tracking volunteer activities.
  • Volunteers MUST NOT have the ability to tamper with the content or format of automatically generated volunteer entry forms.

Analytics and Announcing:

  • The graph generated MUST provide comprehensive dashboards displaying trends and insights across donations, distributions, inventory, and nutritional value of food items.
  • The data MUST enable filtering and drill-down capabilities to analyze data by category, timeframe, donor, and recipient demographics.
  • The dashboard SHALL integrate data visualization tools for a clear and impactful presentation of analytics.
  • The data visualization SHALL allow exporting data for further analysis in external tools.
  • The charts MUST NOT allow for the personalization of data, graphs with user names, and other relevant information.

Communication:

  • The admin SHALL assign a volunteer to chat and communicate with the donor.
  • Admins and volunteers SHALL communicate with donors regarding donation-related matters.

Notification:

  • Users MUST receive notifications for each update on their donation status.

Donation Entry:

  • Donors MUST enter details of food items they wish to donate, including quantity, type, and expiration dates.

Real-Time Location Tracking:

  • The system SHALL provide real-time tracking of the location of volunteers and delivery vehicles.
  • Admins MUST be able to monitor the current locations of volunteers and delivery vehicles on a map interface.

Delivery Assignment:

  • Admins SHALL assign delivery tasks to volunteers based on availability and distribution needs.
  • Admins MUST monitor the progress of delivery tasks to ensure timely completion.