Copper Heart is an experiment.
Copper Heart gives us a way to receive monthly contributions from our friends, in the form of credit card payments, while conveying where the contributions are going, and promoting a dialog between the people receiving contributions and those providing them.
The main idea is to make a place where the meaning behind our money is brought to the forefront, and the numbers are an afterthought.
The current audience of Copper Heart is self-employed computer programmers, or friends of computer programmers, who want a neat funding platform and are willing to hack around to get things to work for the time being.
The potential audience of Copper Heart is the self-employed, community-backed creators and volunteers of the world.
This project is entering rough draft territory. That is, a few ideas are in place, implemented in a narrow but not blind fashion, with minimal error checking.
To become a fully realized rough draft, unit tests need to have their say, and reporting (errors and analytics) needs to be a thing.
The second version of Copper Heart will be complete when:
- The setup process for installing it on your server is straight-forward and simple.
- Ideas gathered from conversations around the first version have their say.
Copper Heart uses Node.js, CouchDB, Redis, and Stripe. To begin:
1. Open an account on Stripe.com 2. Set up a Node, CouchDB, and Redis server (e.g. Nodejitsu) 3. Install Graphics Magick for development (Nodejitsu provides this)
You'll need to configure five components:
1. Stripe 2. CouchDB 3. Redis 4. Accounts / authorization 5. Google Analytics (optional)
Configuration is done via environment variables.
STRIPE_PUBLIC_TESTYour public test key (i.e. pk_test_...)
STRIPE_API_TESTYour secret test key (i.e. sk_test_...)
STRIPE_PUBLIC_LIVEYour public live key (i.e. pk_live_...)
STRIPE_API_LIVEYour secret live key (i.e. sk_live_...)
STRIPE_CONNECT_CLIENT_IDYour Stripe Connect id (i.e. ca_...)
DB_NAME(stores patron and member data)
DB_USE_HTTPStrue or false
Redis is only used in production.
Copper Heart uses OpenID through Google for authentication.
MEMBER_EMAIL_ADDRESSEScomma-separated list of Google-account emails of people who can receive money
ENTRANCE_USERNAMEScomma-separated list of usernames of people on the front page
NODE_ENVproduction or development
- Create the main and static databases.
- Add users to your CouchDB instance.
- Assign the "app" role to your database user.
- Grant the "app" role "admin" permissions on the static database.
- Grant your database user "admin" and "member" permissions on the main database.
It's a minor goal to have the code take care of this in the future.
Phil Manijak <firstname.lastname@example.org>