Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature(admin): fundraising campaign #712

Merged
merged 4 commits into from
Jan 26, 2024
Merged

feature(admin): fundraising campaign #712

merged 4 commits into from
Jan 26, 2024

Conversation

andrashee
Copy link
Contributor

@andrashee andrashee commented Jan 26, 2024

Basic data model to enable the creation and an administration of fundraising campaigns.

Tasks to be done to support that users can create their own fundraising campaigns (e.g. for birthdays, weddings, ...):

  • Create model.
  • Admin interface.
  • Creation Form.
  • Fundraising Page.
    • Accessible by link shared to the creator by email.
    • Payment button with fundraising id attached as metadata.
  • Adjust stripe hook: increment amount_collected_chf of associated campaign
    • Having a count in the campaign and updating that one feels easier rather than going through all the payments and filter them every time someone is visiting the campaign site.
  • Database trigger: send email to creator after creation.
  • Database trigger: send email to creator after each donation.
  • Database trigger: send email to creator after reaching goal.
  • Optional: Fundraising Overview.

Out of scope for now:

  • Editing of the campaign after creation by the creator.
    • Having a low entry barrier (no login) to create a campaign feels crucial to me.
  • Get the names of contributors as a creator. All the donations are only exposed anonymously

Copy link

vercel bot commented Jan 26, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
public ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 26, 2024 0:47am

Copy link

github-actions bot commented Jan 26, 2024

Visit the preview URL for this PR (updated for commit b7c2df7):

https://si-admin-staging--pr712-ahee-campaign-model-2uvezsf8.web.app

(expires Fri, 02 Feb 2024 13:15:57 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: b7b0969384059dce6ea8fad1ee1d1737e54e6676

title: string;
description: string;
amount_collected_chf: number; // automatically updated by incoming payments.
goal?: number;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be the amount in CHF, right? For clarity, I would name it goal_chf then.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I would have thought in the currency of the currency referenced below.
So that we can display round numbers on the website. The detail page of a campaign would be a fixed currency. Wdyt?

@mkue
Copy link
Contributor

mkue commented Jan 26, 2024

Cool stuff!😊
Makes sense to me so far👌🏼

@andrashee andrashee merged commit 7d55f78 into main Jan 26, 2024
23 checks passed
@andrashee andrashee deleted the ahee/campaign-model branch January 26, 2024 13:16
@ssandino
Copy link
Member

@andrashee

Do we also need terms @ssandino?

Even though the risk of misuse is unlikely, I think it's a good idea to play it safe by adding some standard clauses in a simple and easy-to-understand format.

I recommend including these clauses directly in the existing legal terms (https://socialincome.org/en/ch/terms-and-conditions). We wanted to unify anyway all legal texts (terms of use, terms and conditions, privacy policy and now newly terms for fundraiser) on one page .../legal. This could be the chance to do it.

Good for you? If yes I would do this in another PR and you can just link to the (future) site .../legal.

Proposal for the 5 Clauses for Private Fundraisers:

  1. The person starting a private fundraiser on Social Income's website is responsible for setting up and running the fundraising event. This responsibility includes covering all costs, planning, promoting, and ensuring compliance with the law.
  2. Social Income will create a special 'fundraising page' on its website. The fundraiser will receive a unique link to this page and should direct all supporters to donate to Social Income through this specific page. The fundraiser must not accept donations or any other payments on behalf of Social Income.
  3. The fundraiser is permitted to use Social Income's name and logo to promote the fundraising event and raise money for Social Income. However, this does not imply that Social Income endorses the event. Social Income reserves the right to discontinue or refuse the use of its name and logo at any time.
  4. The fundraiser understands that Social Income owns all data collected, including information gathered during the fundraiser or on the 'fundraising page.' Social Income may allow the fundraiser to use this data to thank donors.
  5. The fundraiser is responsible for ensuring that all aspects of the fundraising event are appropriate and respectful. No part of the event should be harmful, offensive, untrue, or discriminatory. Social Income has the right to terminate the fundraising campaign at any time at their discretion.

@ssandino
Copy link
Member

ssandino commented Feb 6, 2024

Update on

Do we also need terms @ssandino?

The terms for fundraisers will be introduced with #738

@ssandino
Copy link
Member

@andrashee the fundraiser terms are online and can be linked:

https://socialincome.org/en/ch/legal/fundraisers

Thx 🙏. @DarkMenacer for the great work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants