Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Gittip is a platform for sustainable crowd-funding.
Python JavaScript Shell

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
gittip
img-src
sql
templates
vendor
www
.gitignore
Makefile
Procfile
README
TODO
basics-of-escrow-accounting.pdf
configure-aspen.py
release.sh
requirements.txt
setup.py
swaddle

README

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/
Something went wrong with that request. Please try again.