code-corps / code-corps/code-corps-api

RFC: Explicit "donor" status/record for users who donate, to identify among /differentiate from contributors

Open
#999 3 comments 0 reactions 0 assignees View on GitHub
RFC Time: 2 hours Time: 4 hours
Dominant language
Elixir
Stars
234
Forks
82
PR merge metrics
No merged PRs in 30d

Description

# Problem

We do not currently have a way to easily differentiate donors among all project/organization contributors. We can technically do so by inferring through subscriptions, but it's not straightforward.

The way this works has not been fully decided yet.

Is a donor status something that's "on" while a donation is active, or if a donation has ever been active? I'll assume the second choice, considering the option of 1-off donations in the future.

My suggested implementation would be

## MVP

- **4 hours** we add a `ProjectDonation` record, associated to `Project` and `User`.
- **2 hours** when a donation occurs, this record is found or created for the user donating and the project being donated to

## Optional

- **? hours __not MVP__** the record could potentially hold additional information such as `total_recurring_amount` and `total_non_recurring_amount`, which could be useful
- **2 hours** we can switch our total donations code to use the above record, once the extra fields are added
- **1 hour** when a subscription get's cancelled (we are not handling this properly yet), we simply nullify the recurring donations field, instead of deleting the record

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.