forked from gratipay/gratipay.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
106 lines (77 loc) · 3.34 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
This is Gittip, a gift economy.
Gittip is a cooperative escrow agent for recurring micro-gifts, or tips.
Possible tip amounts per week are 0.00, 0.08, 0.16, 0.32, 0.64, and 1.28.
Friday is payday. On Friday, we charge people's credit cards and the money goes
into Gittip's (Zeta's) bank account. Money is allocated to other participants
according to tips. Participants may withdraw money at any time, though this is
currently quite manual.
Installation
============
The site is built with Python 2.7 and the Aspen web framework, and is hosted on
Heroku. Samurai is used for credit card processing, and Google for analytics.
You need python2.7 on your PATH.
You need Postgres with headers installed. There's a simple Makefile for
building the software. All Python dependencies are included in vendor/. To
`make run` you need a local.env file in the distribution root with these keys:
CANONICAL_HOST=
CANONICAL_SCHEME=http
DATABASE_URL=postgres://user:pass@localhost/dbname
SAMURAI_MERCHANT_KEY=
SAMURAI_MERCHANT_PASSWORD=
SAMURAI_PROCESSOR_TOKEN=
GITHUB_CLIENT_ID=3785a9ac30df99feeef5
GITHUB_CLIENT_SECRET=e69825fafa163a0b0b6d2424c107a49333d46985
GITHUB_CALLBACK=http://localhost:8537/github/associate
DYLD_LIBRARY_PATH=/Library/PostgreSQL/9.1/lib
The SAMURAI_* keys are problematic. I need to think about how to handle that
safely. The site works without them, except for the credit card page (you have
to set them but you can set them to the empty string).
The GITHUB_* keys are for a gittip-dev application in the Gittip organization
on Github. It points back to localhost:8537, which is where Gittip will be
running if you start it locally with `make run`.
The DYLD_LIBRARY_PATH thing is to get psycopg2 working on Mac OS with
EnterpriseDB's Postgres 9.1 installer.
Setting up the Database
-----------------------
The schema for the Gittip.com database is defined in sql/schema.sql. Here's how
to install it:
$ psql --user postgres
Password for user postgres:
psql (9.1.3)
Type "help" for help.
postgres=# create database gittip;
CREATE DATABASE
postgres=# \c gittip
You are now connected to database "gittip" as user "postgres".
gittip=# \i sql/schema.sql
...
The best version of Postgres to use is 9.1, because gittip uses the hstore
extension for unstructured data, and that isn't bundled with earlier versions.
If you need to make schema changes or work on the credit card workflow then
talk to me (@whit537) and we'll figure out how to get you what you need.
See Also
========
Same Room
Next Door
http://www.kickstarter.com/
http://flattr.com/
http://tiptheweb.org/
http://www.indiegogo.com/
http://www.pledgemusic.com/
https://propster.me/
http://kachingle.com/
https://venmo.com/
http://krisstraub.com/2011/11/20/kachingle-and-the-transgression-of-opt-out/
Credit Card Payments
https://samurai.feefighters.com/
https://www.braintreepayments.com/
https://stripe.com/
https://stripe.com/platform
https://www.braintreepayments.com/blog/high-risk-mechant-account-third-party-payments-aggregation
Bank Withdrawals
https://gocardless.com/
http://stackoverflow.com/questions/679946/api-for-direct-deposit-ach-eft-whatever
Mobile Payments
http://www.boku.com/merchants/
https://www.obopay.com/consumer/welcome.shtml
https://venmo.com/