Expenditure tracking for US House elections
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
config
db
lib
public
script
test
tmp
vendor
.gitignore
README
Rakefile

README

== Expendicus

Expendicus is a web-based tool to explore the independent communications spending 
made by Political Action Committees during an election cycle. Expendicus was created by Offensive Politics 
and can be accessed here: http://offensivepolitics.net/expendicus. A introduction to independent
expenditures and Expendicus is available at http://offensivepolitics.net/blog/?p=6

== Prerequisites

Expendicus requires a recent  version of Ruby on Rails (2.2.2 or greater) and a recent version of 
Ruby Gems (1.3 or greater). Expendicus requires a recent MySQL server (5.0 or later) that has 
"LOAD DATA LOCAL INFILE" privileges enabled. 

== Installation

1. Get the latest Expendicus source from GitHub: 

> git clone git://github.com/offensivepolitics/expendicus.git

2. Get the latest copy of the data that powers Expendicus from
http://offensivepolitics.net/dev_data.tar.gz
and save it into your "expendicus/dev_data" directory, creating the directory if neccessary. 

3. Add an entry to github to your GEM config. 
> sudo gem sources -a http://gems.github.com

4. Install missing GEMs
> gem install htttparty --no-ri --no-rdoc
> gem install fastercsv --no-ri --no-rdoc
> gem install ar-extensions --no-ri --no-rdoc
> gem install GeoRuby --no-ri --no-rdoc

5. Install plugins - From within the "expendicus" directory:
> script/plugin install git://github.com/pullmonkey/open_flash_chart.git
> script/plugin install svn://rubyforge.org/var/svn/georuby/SpatialAdapter/trunk/spatial_adapter
> script/plugin install svn://rubyforge.org/var/svn/ym4r/Plugins/GM/trunk/ym4r_gm
> script/plugin install git://github.com/mcommons/annotatedtimeline-for-rails.git
> script/plugin install git://github.com/rails/auto_complete.git 

6. Create 'config/database.yml' 
Sample: 
development:
  adapter: mysql
  encoding: utf8
  database: inex_development
  pool: 5
  username: root
  password:
  host: localhost

7. Create databases
> rake db:create

8. Migrate DB
> rake db:migrate

9. Run the import scripts
> rake import:all

10. Edit API key
config/environment.rb line 79
TransAPI::OpenSecretsAPI::api_key = "<your OpenSecrets API key goes here>"
TransAPI::SunlightLabsAPI::api_key = "<your sunlight labs API key goes here>"

10. Edit Path URL - ONLY PERFORM THIS STEP IF YOU ARE NOT RUNNING IN DEVELOPMENT MODE
config/environment.rb line 69
Change
config.action_controller.relative_url_root = "/expendicus"
to match your relative root directory of expendicus. 

11. Run the server
> script/server

At this point you should be able to browse to http://localhost:3000/ and see Expendicus in action.