Fetching contributors…
Cannot retrieve contributors at this time
66 lines (37 sloc) 2.61 KB

Money Tracker

I've played around with various financial software over time and have never been satisfied with what's on offer. I'm going to use this project to explore what I believe to be missing and see whether I can build something that I want to use.

It's got some stories and a list of alternative packages. What more could you want.


I've deployed a demo copy of the app to It's configured with the default HTTP basic auth credentials which are 'username' and 'password'.

Do what you want with it, but don't do anything daft like upload sensitive data. I'll probably delete the data periodically but this won't help if you've just shared your transactions with the world.

Installation on Heroku

Clone the app

$ git clone ~/money-tracker
$ cd ~/money-tracker

Push to Heroku

This assumes that you know what Heroku is, have an account and installed the gem.

$ heroku apps:create
$ git push heroku master
$ heroku rake db:migrate

Install the SSL addon

The app uses SSL to encrypt the data between the server and your browser. It redirects all plain HTTP requests over HTTPS so it won't work without this addon.

$ heroku addons:add ssl:piggyback

Change the default username and password

The app is protected by HTTP Basic Authentication. The default username and password is 'username' and 'password'. Change them by defining these Heroku variables.

$ heroku config:add MONEY_TRACKER_USERNAME=my-username
$ heroku config:add MONEY_TRACKER_PASSWORD=my-password

Configuring SendGrid so that we get Exception emails

Sometimes the application breaks. If you want to be emailed when it does you'll want to enable the free SendGrid addon and set your email address.

$ heroku addons:add sendgrid:starter
$ heroku config:add MONEY_TRACKER_EXCEPTION_EMAIL_RECIPIENT=your-email-address

Running the app locally

You'll need postgresql installed if you want to use the example database configuration. This is what Heroku uses.

$ brew install postgresql

Copy the example database configuration and create all the databases.

$ cp config/database{.example,}.yml
$ rake db:create:all
$ rake db:migrate

Running the tests

You'll need the chromedriver executable in your PATH to run the cucumber tests.

$ rake