Skip to content

Donor Lookup Feature -- Search Functionality #232

@jayrevolinskyjr

Description

@jayrevolinskyjr

This is an issue spawned from #193

More specifically, spawned from the original 'Lookup Button' task and Dr. Buffardi's requested feature.

  1. On a click, the 'Lookup' button needs to pass an input value, the donor's name or id, from a form in order to return an updated list on the 'Donor Lookup Page' where a valid lookup will update the list to show the donor's name/relevant names.
  2. If the 'Donor Lookup' fails to return a valid name, the user will be prompted with a 'Failure to find name' and then given an opportunity to input a new donor's name and donation.

Currently, the 'Donor Lookup' page returns a list of Donors populated from PantryNode's backend. So, the tasks will be broken down as follows:

  • Pass input from form linked to 'Lookup Donor' button into the /lookupDonor route.
  • Retrieve JSON/List used to populate 'Donor Lookup'.
  • Search JSON/List used to populate 'Donor Lookup' values and check for indices that match value return by /lookupDonor route.
  • 'Filter' the searched values by appending values which match /lookupDonor into a new 'searched' list.
  • IF values are added to the 'searched' list then update the 'Donor Lookup Page' with the new list.
  • ELSE prompt the user that the search failed and ask them to make a new donor.

This is a fairly low-level break down to get a proof-of-concept working. Any design that abstracts these above tasks and still produces the same result of, "search for donor, if found make a new list to populate Donor Lookup page, if not found then prompt user to add new donor" then that implementation is viable.

Original UML Diagram from #193 included for reference to 'Donor Lookup' page.

UpdatedDonorLookup

Metadata

Metadata

Assignees

Labels

UrgentNeed everyone's attentionfeatureNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions