Skip to content

Donor Lookup and Add Donation at Checkout #193

@jayrevolinskyjr

Description

@jayrevolinskyjr

Update: 05/08/2023

Due to the size of the PR linked to this issue. The four remaining subtasks will be striken-through and split into new issues, especially given the capacity of the remaining subtasks to have advanced functionality.

Built off of original project requirements.

Construct a feature that returns the number of transactions and quantity of donations that correspond to a given donor.

Frontend

Donor Lookup Page Updates:

  • Donor Lookup Page populated by FindDonor(Name/Id) or Function/Query that returns all Donor Names, Emails, Location @ysiddhapura
  • 'Add Donor' Button linked to NewDonor(Name). @ysiddhapura
  • 'FindDonor(Name/Id)' has checkbox to flip a Bool for setting Anonymous donor with hardcoded values @ysiddhapura
  • Add 'Lookup Button' @Anoushka444
    'Lookup Button' linked to FindDonor(Name/Id) @Anoushka444
  • 'Donate' button routes to 'Donor View Page' @xl26

Donor View Page:

  • Design Donor View Page @xl26
  • Populate view with DonorJSON returned by FindDonor(Name/Id) or Function/Query that returns all Donor Names, Emails, Location @xl26
    'Edit' button calls "editDictValue(DonorJSON)" and updates DonorJSON by index. @jayrevolinskyjr
    'Scan' button calls "readScan(DonorJSON, ScanJSON)" to call "SKU Feature Lookup" scan() which returns ScanJSON, then add a new row to Donor View Page. @jayrevolinskyjr
  • 'Add Item' button uses "addDictValue(DonorJSON)" to append a new Item with Name and user-specified quantity to DonorJSON. @xl26 @jayrevolinskyjr

Backend

DonorLookup(Name, Id):

  • 'NewDonor(Name)' use Sequelize to create a new user in the DB table @Anoushka444 @ysiddhapura
  • 'FindDonor(Name/Id)' use Sequelize to SELECT on a Person ID that matches 'Name/Id' and has transaction types = "Donation". (Implemented /lookupDonor endpoint) @parthpandey1
  • 'AddDonorItems(Name/Id)' - update DB using Sequelize with updated DonorJSON values by Person Name/Id (Implemented /donate endpoint) @parthpandey1
  • 'FindAllDonors' - to list out all users which have atleast one donation. (implemented /donors endpoint) @parthpandey1
  • 'Donations/<person_id>' - to return all the 'donation' transactions by a particular donor. This should also return trans_items within a transaction. (implemented /donations/:person_id endpoint) @parthpandey1

UpdatedDonorLookup

Metadata

Metadata

Labels

UrgentNeed everyone's attentionfeatureNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions