Giter VIP home page Giter VIP logo

dig-dao / simplegrants Goto Github PK

View Code? Open in Web Editor NEW

This project forked from supermodularxyz/simplegrants

13.0 13.0 1.0 4.33 MB

Web2 QF ツールのリポジトリ。SupermodularのSimpleGrantsをforkしたもの

Home Page: https://scrapbox.io/public-goods-funding/2024%2F1%2F31_Web2_QF_%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E8%A7%A6%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B#65b998f4aff09e0000d2a7f1

License: GNU General Public License v3.0

Shell 0.09% JavaScript 0.93% TypeScript 98.30% CSS 0.21% Dockerfile 0.47%

simplegrants's People

Contributors

easonchai avatar naokiakazawa avatar tkgshn avatar yu23ki14 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

yu23ki14

simplegrants's Issues

画面サイズを変えた時に「推定マッチング金額」のグラフの表示が崩れてしまう

概要

  • grants/checkoutに、QFメカニズムによる上乗せ金額をシュミレーションするためのグラフを追加したが、画面サイズを変えるとデザインが潰れてしまう

再現手順

  • 適当なプロジェクトをカートに入れ、チェックアウトしようとすると表示できる

デスクトップのサイズでは1枚目の画像のように正常に表示されるが、
画面サイズを変えると、2枚目のようになる

image

image

期待する動作

画面サイズを変えても、スマホで表示しても表示が崩れないこと

Shibuya Startup Deckへの登録

入会申込書.docx

tasaka: 高木様、浜田様
Shibuya Startup Deckへの入会申込書をお送りします。
CCに入っている事務局メンバー、担当者にお送りください。
どうぞよろしくお願いいたします

secure_transfer_20240417050822.zip

以下提携です。
後援名義申請にあたっては、以下のご提出をお願いさせていただいております。
・後援名義等申請書(添付Word)
・企画の概要が分かる資料(様式任意)
・収支予算書(添付Excel) ※営利目的でないことを示すため、書類上、収支は一致させるようお願いいたします。
・定款(写し)
・登記簿(写し)
もし、法人格をお持ちでないなどの理由で定款や登記簿がお出しできない、という場合は、
代わりに、主催団体様の過去のイベント実績などが分かる資料を添付いただけますと幸いです。
その他、作成にあたってご不明な点があればお気軽にお問い合わせください。
お忙しい中で恐れ入りますが、よろしくお願いいたします。

ユーザーがプロジェクトに寄付したあと、`MatchedFund` テーブルを生成・更新するようにする

概要

DBのMatchedFundtableは、あるプロジェクトが「どれだけの資金をマッチングプールから上乗せして受け取るか」のデータを含んでいます。
しかし、これはDB Tableとしては存在していますが、現在は新しいデータは作られず動いていません。

そこで、まずはMatchedFundtableを正常に動くようにしたいです。「期待する動作」を参照してください。

このコードが重要な理由・目的

この上乗せ金額が存在して初めて、「あなたの寄付がどれだけの上乗せ金額をプロジェクトに呼び込むことになるか( #27 )」や『あなたの寄付にいくら上乗せされたか( #28 )』を計算することができます。

MatchedFundtableについて

  • id: ランダム
  • matchingRoundId: そのプロジェクトはどのMatching Roundと紐づいているか
  • grantId: プロジェクトのid
  • amount: 上乗せされている額
  • denomination: JPYに固定
  • amountUsd: これもめんどくさいのでamountと同じ概念にする
  • payoutAt: いつ支払われるか?あまりわかっていない

期待する動作

  • あるプロジェクトが初めて寄付を受け取った時、そのプロジェクトidや、そのプロジェクトが該当するmatchingRoundIdを持ってデータが新規作成される
  • すでにテーブル内にあるデータと、同じmatchingRoundIdを持つデータが入ったときに、QFメカニズムで計算する上乗せ金額を再計算し、その値がamountに更新される

利用規約・プライバシーポリシーを作成する

以下、利用規約を作るために必要になりそうな要素を下書きとして列挙する

  • サービスの内容: 「このDigDAOマッチングドネーション」プロジェクトは、DigDAOを中心とし、公益プロジェクトに対する新しい資金分配の形を模索するために運営する。そのため、本プラットフォームに公益プロジェクトを列挙し、支持者から寄付を募るクラウドファンディングツールを運営する
  • ユーザーに守って欲しいルール: https://scrapbox.io/public-goods-funding/%E5%85%AC%E7%9B%8A%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A8%E3%81%97%E3%81%A6%E6%8E%B2%E8%BC%89%E3%81%97%E3%81%9F%E3%81%84%E4%BA%BA%E3%81%B8#66319e0209c5f2000085ef3a
    • (寄付者として)一人が複数アカウントを作って寄付するのは絶対にやめてほしい(疑わしい場合があれば調査する、場合によっては寄付を無効とする場合もある)
    • (プロジェクト側として)なりすましや、見返り・賄賂を渡して投票を得ようとする行為は絶対にやめて欲しい
  • ユーザーがルールに違反した場合は運営としてどのように対処するか: 悪質だと判断した場合、寄付の取り消しや、プロジェクト掲載の取消などを行う場合がある。その場合、返金の対応ができないこともあり得る。
  • 自社で責任を持てること: QFの計算や寄付周りの設計などは万全を期して設計しているが、やむを得ず本プロジェクト自体が中止になることはある。その場合は、Stripeの手数料を引いた金額を返金する。時間はかかるかもしれないが、QFがうまくいった場合はきちんとプロジェクト側に資金を分配する。
  • 責任を持てないこと: もしかしたら、QFの仕組みが途中でバグっているかもしれない。本プロジェクトが何かしらの理由で中止になるかもしれない。
  • データについて: この実験をやる上で得られる寄付データは、今後のプロジェクト体験の向上や、各プロジェクトのマーケティングや文章のアドバイスなどに使うことがある。そのほか、寄付データは終了後レポートという形で公開する。ただし、誰がどこに寄付したかという情報についてはメールアドレスやGoogleアカウントに紐づけられている名前含めて、一般には開示しない。Cookieに関しては、Authかなんかで必須な分のみ取得する。

寄付した後に`success.tsx`で表示される推定上乗せ額の計算があっているか確認

概要

プロジェクトに寄付した後に、次のような画面が表示される。これには、「寄付した額」と『(その寄付により)推定される上乗せ金額』が含まれる。ただ、これが本当に"ユーザーがそのプロジェクトに寄付したことによって上乗せされる金額なのか"がわかっていない。コードが間違っているのかもしれない。
Image from Gyazo
(このコード自体はgrant/checkout/success.tsxにある)

再現手順

  1. プロジェクト一覧から適当なプロジェクトをカートに入れ、適当な金額で寄付する
  2. 寄付に成功すると添付のスクリーンショットの画面が表示される

期待する動作

  1. 寄付した瞬間に存在する過去の寄付データ(contributiontableに存在する)を参照し、 #19 を更新する
  2. そこから自分の寄付によって上乗せされる金額を計算し、表示する

このissueは、 #28 とかなり近いことを言っているが、違う点は「寄付した瞬間の」上乗せ金額を計算すること。こちらの方が考慮するシチュエーションが少ないので、(寄付された瞬間の上乗せ金額だけを計算し、表示すればいい)難易度的にはあまり高くない。

ホスティング、Stripe含めたOuthなどの設定

  • AWS?は確かDigDAOの環境があったはず?
  • 認証に使うGoogleアカウントをどうするか
  • Code for Japanが事務局・運営としてStripeの管理をする。なのでアカウントを作って欲しい。

掲載候補のプロジェクト集め・情報共有など

何をdigdaoに共有して欲しいか

  • 必須: 画像(3:4だといい感じ)
  • 必須: プロジェクトの名前
  • 活動拠点
  • TwitterのID
  • 必須: Website
  • 必須: プロジェクトの概要。市民へどのような機能を提供しているか。この寄付実験で受け取った金額はどのようなものに使うか。
  • 必須: 目標金額
  • 振込先情報?

これらはGoogleフォームに入力してもらうのでいいと思う。

プロジェクトの新規登録biGoogleSpreadシートとGASでできるようにする。

背景

バックエンドのエンドポイントとして新規プロジェクト登録は存在するが、それをたたくためのフロントエンドのインターフェースがない。curlでたたけばいいが面倒くさい。

What

プロジェクトの新規登録をGAS経由でしたい。
ユーザーストーリー

  1. 申請者がGoogleFormから応募
  2. 運営がチェックして、OKになったらListのフラグを立てる
  3. GASでスプシのデータをエンドポイント経由で登録

*更新はDB直接でいったんよい

WebUIからプロジェクトを掲載できるようにする

2024/04/17の対面会議で話した内容をメモ:

この画像はいくつかプロジェクトを掲載する方法について書いている。

  • image

最終的には、②に決定:

  1. 掲載希望者はプロジェクトをformに入力
  2. Sheetにたまる
  3. admin(管理者側)がWebUIからプロジェクト掲載
  4. 画面にリストされる

このissueでは3をdebugする

寄付をしてもプロジェクト詳細画面のプログレスバー・受取額が更新されない

概要

ユーザーが寄付をしても、プロジェクト詳細画面(例: http://localhost:3001/grants/clg3bs740000mx6s593j95scm)で表示されるプログレスバーが動かない。

再現手順

  • プロジェクト一覧から適当なプロジェクトをカートに入れ、適当な金額で寄付する(この時に、元々いくら「受け取り済み」と表示されていたかを覚えておくこと)
  • 決済後、プロジェクト一覧に戻ってみると先ほど表示されていた額と変わっていない

期待する動作

  • 決済後、最初の「受け取り済み額」から変化があること

タスク

  • プログレスバー・受取額はDBのどのテーブルと連携しているかを明らかにする
  • 寄付したときに、checkoutには入っているけどcontribuionに反映されていないのを解決する

マイページの`DonationList`(寄付履歴)に表示されている上乗せ額の確認

概要

このDonationListは、次のような画面である。これはマイページとして動作し、ユーザーの過去の寄付を見ることができる。このデータはDBのcontribution tableを参照し、自分自身のuserIdを持つものだけを取得することで表示している
image

期待する動作

この画面で「寄付済み」と書かれている右側に『上乗せ』と書かれている部分がある。ここに、"自分が寄付した金額を元に、(QFメカニズムの元)上乗せされた金額"を表示したい。

備考: そのためには、 #19 で言及しているMatchedFundを参照する必要があると考えている

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.