Skip to content

bglusman/www.gittip.com

 
 

Repository files navigation

This is Gittip, a gift economy.

Gittip is a cooperative escrow agent for recurring micro-gifts, or tips.
Possibly 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 and the Aspen web framework, and is hosted on
Heroku. Samurai is used for credit card processing, and Google for analytics.

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
    https://propster.me/
    http://kachingle.com/
    https://venmo.com/

    http://krisstraub.com/2011/11/20/kachingle-and-the-transgression-of-opt-out/

Next Door
    http://www.kickstarter.com/
    http://flattr.com/
    http://www.indiegogo.com/
    http://www.pledgemusic.com/

Credit Card Payments
    https://samurai.feefighters.com/
    https://www.braintreepayments.com/
    https://stripe.com/

    https://www.braintreepayments.com/blog/high-risk-mechant-account-third-party-payments-aggregationA

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/

About

Gittip is a gift economy.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published