Skip to content
tuongtran23 edited this page Jun 10, 2023 · 3 revisions

Introduction

Platform that empowers users to donate and receive items to one another. Our user-friendly website provides a seamless experience for both administrators and customers, ensuring convenience and accessibility for all.

Objective

Our objective is to create a user-friendly platform that enables seamless donation of items. We aim to provide convenience for both administrators and customers, offering a diverse marketplace, facilitating donations, and prioritizing a user-friendly experience. Our goal is to foster a vibrant community and revolutionize the online marketplace experience.

Scope

The scope of the donation resources API includes the following functionality:

  • Donors / Recipients
  • Item Listing/ Search
  • User & Admin Dashboard
  • Notification

User Personas

  • Donor: Responsible for providing the item and description as well as point of communication for a recipient.

  • Recipient: Values Convenience, Affordability, and a wide range of options. Easily discover and ask to receive items, while ensuring secure transactions.

  • Admin: Monitor the Users management

Functional Requirements

  • As an user I want to be able to sign up for an account

  • As an user, I want to be able to change my password.

    Admin

  • As an admin, I want to enable/disable user (donor or recipient)

  • As an admin, I want to see how many users in the system.

  • As an admin, I want to see donor’s profile.

  • As an admin, I want to see recipient’s profile.

  • As an admin, I want to be able reset user password when needed.

  • As an admin, I want to validate if an item being posted by a donor is appropriate.

    Donor

  • As a donor, I want to be able to add a new donation to the system.

  • As a donor, I want to be able to confirm a donation was taken on a first come first serve basis.

  • As a donor, I want to be able to receive a notification of a donation recipient request.

  • As a donor, I want to be able to “mark” as donated after request approval.

  • As a donor, I want to be able to Edit/Update an existing donation.

  • As a donor, I want to be able to view “My” recent completed donations history.

  • As a donor, I want to remove/cancel a request for “My” donation.

    Recipient

  • As a recipient, I want to view ALL donations in the system

  • As a recipient, I want to request a certian donation from the list.

  • As a recipient, I want to be able to request a set of items, with one click or few clicks as possible. (Need additional discussion)

  • As a recipient, I want to receive a notification when approved for “MY” donation request.

  • As a recipient, I want to view “My” recent donation history.

  • As a recipient, I want to communicate with the donor/Some kind of communication (Need additional discussion)

  • As a recipient, I want to remove/cancel myself from a request of a donation.

Non-Functional Requirements:

Success Criteria:

Testing

  • The API will be tested using automated unit tests and integration tests

Milestones:

Appendix

Architecture Diagram

Entity Relationship Diagram