Skip to main content

BlueChips - finances for people with shared expenses

Project description

BlueChips is a simple finance tracking application designed for small groups of people with shared expenses. It was designed and developed by groups of students who got tired of the headaches of managing lots of little payments between roommates.

Example Scenario

  1. Larry lives with Curly and Moe.

  2. Larry gets the utility bill, and enters it as an expenditure on their BlueChips site. Everyone shares the utilities, so it’s just an even split.

  3. A week later, Moe pays the rent. Curly has a smaller room, so he pays a smaller fraction of the rent.

  4. At any time, any user can visit the BlueChips site and see who needs to pay who how much in order to settle the books.

  5. After a few months, Moe has paid for a disproportionate amount of stuff, so the other roommates each make a transfer to Moe, and enter the amounts in BlueChips.

Additional Features

  • Support for negative expenses

  • Uses any authentication mechanism which can set the REMOTE_USER environment variable, including authentication modules supported by Apache, nginx, lighttpd, and others.

  • Email notifications of changes (optional)

  • 100% test coverage

Installation and Setup

Install BlueChips using easy_install:

easy_install BlueChips

Make a config file as follows:

paster make-config BlueChips config.ini

Tweak the config file as appropriate and then setup the application:

paster setup-app config.ini

Host the application behind an authentication layer which sets REMOTE_USER.

Apache Configuration

The recommended deployment platform for BlueChips is Apache, mod_wsgi, and any Apache module which provides authentication. Here is an example vhost configuration:

<VirtualHost bluechips.example.com:80>
    ServerName bluechips.example.com

    WSGIScriptAlias / /var/www/bluechips.wsgi
    <Directory /var/www>
        Order deny,allow
        Allow from all
    </Directory>

    <Location />
        AuthType Basic
        AuthName "Example BlueChips Site"
        AuthUserFile /etc/apache2/passwords
        Require valid-user
    </Location>
</VirtualHost>

The bluechips.wsgi wrapper script looks just like:

from paste.deploy import loadapp
application = loadapp('config:/var/www/ssl/config.ini')

Acknowledgments

BlueChips is the latest in a long line of software to make managing group finances easier, and would not be possible without the intellectual inspiration of those predecessors.

CUTCAT’s accounting software started the trend of software-based accounting mechanisms. It inspired a re-implementation as a curses script by Nelson Elhage, which introduced the notion of “pushing expenditures” to simplify transfers. The algorithm used in BlueChips for settling the books is directly cargo-culted from Nelson’s implementation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BlueChips-1.0a3.tar.gz (40.4 kB view details)

Uploaded Source

File details

Details for the file BlueChips-1.0a3.tar.gz.

File metadata

  • Download URL: BlueChips-1.0a3.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for BlueChips-1.0a3.tar.gz
Algorithm Hash digest
SHA256 10593dac9811738ef051ffb6ac9bfdbc673f1b7f2d018395748e988982f82ce6
MD5 38963f77dfbf41251e185ace4342ffdd
BLAKE2b-256 1348ef7042edf306271b723cf97a8e912c866ba83eda7420ca73378f55a21402

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page