Ruby JavaScript PHP Shell
Latest commit 850b602 Feb 11, 2013 @aross aross Merge pull request #16 from rchekaluk/master
Minor adjustments needed to build and deploy from scratch
Failed to load latest commit information.
app Merge branch 'production' Jan 11, 2013
bad_sweepers restored fragment cache sweeper Nov 23, 2009
bin code changes for 113th congress Jan 4, 2013
components Added initial Rails app Aug 17, 2009
config Merge pull request #16 from rchekaluk/master Feb 11, 2013
db round of performance tweaks and optimizations Nov 12, 2012
features - removed cucumber_structure.sql from repository and added to gitignore Feb 13, 2012
lib some bug fixes Feb 14, 2012
log Add log & tmp files to repo for easier checkout Nov 20, 2009
spec changed defender gem to working version Feb 27, 2012
vendor/plugins round of performance tweaks and optimizations Nov 12, 2012
.gitignore - removed cucumber_structure.sql from repository and added to gitignore Feb 13, 2012
.gitmodules Merge master into widgets Jul 6, 2011
.rspec set up initial rspec spec Feb 3, 2012
Capfile More cleanup of config / Cap files Nov 13, 2009
Gemfile updated rails for security vulnerability Jan 11, 2013
LICENSE-AGPLv3 License update: GPLv3 for content prior to OpenCongress v3. AGPLv3 fo… Jul 26, 2011 some bug fixes Feb 14, 2012
Rakefile rails 3 changes Feb 25, 2011
banned_users_test.txt Added initial Rails app Aug 17, 2009 rails 3 changes Feb 25, 2011
parsed_reports.txt Added initial Rails app Aug 17, 2009

OpenCongress - a Ruby on Rails application for displaying information about Congress

Lighthouse Project Page

OpenCongress for Developers

Getting started with our code

A. Dependencies

Start by installing all the packages required by OpenCongress. The main dependencies are postgres and ImageMagick; OpenCongress will not run on mysql or sqlite. The following commands are suggestions, but ultimately you'll need to get postgres running to be able to run the app. We are currently running version of postgres 8.4.4 in production.

For Ubuntu:

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev ruby1.8 ruby1.8-dev rubygems libopenssl-ruby imagemagick libmagick9-dev gcj-4.4-jre

For Mac OS X, start by installing MacPorts, then run:

sudo port install postgresql84 postgresql84-doc postgresql84-server ImageMagick md5sha1sum wget

or, if you want to use Homebrew (this will install version Postgres 8.4.4):

brew install imagemagick
brew install

Follow the instructions after the packages install for initializing your database

Install the bundle:

[sudo] gem install bundler
bundle install

Note for OS X: *You may need to specify additional compile options for your gems. Try: ARCHFLAGS="-arch x86_64" bundle install

B. Database setup

Running the following commands will create an 'opencongress' user and empty databases for the three environments (test, development, production). The migration command will populate the development database with an empty schema.

rake db:init
rake db:migrate

C. Solr (optional, recommended)

OpenCongress uses Solr to store some data. Running Solr is not required to run the web server, but some pages will break if Solr is not running. If you are going to import data, running solr is required or you will encounter errors.

You can run Solr with the following command (usually in the background and/or in a separate window):

rake solr:start

D. Legislative Data (optional)

See note above about running Solr: it is required for importing data.

To import legislative data into your database, run the following command:

rake update:govtrack

This will download data files from Govtrack and import them into your database. The default location for storage of the data files is /tmp/opencongress_data but you can change this by editing config/application_settings.yml. This task will import ALL of the data for the current session of Congress: it will take a long time and occupy a LOT of space on your filesystem! Keep this in mind before importing the data!

E. Starting the server

See note above about running Solr: it is not required, but recommended.

To start the webserver:

rails s

We are actively working to make the install process easier for new volunteers. Special thanks to Doug Cole for moving us along in this regard.

Copyright (c) 2005-2012 Participatory Politics Foundation

OpenCongress is licensed, as a whole, under AGPLv3. Components added prior to OpenCongress version 3 (July 27, 2011) were and are licensed under GPLv3. All components added for or after OpenCongress version 3 are licensed AGPLv3. When you contribute a patch to OpenCongress, it will be licensed under AGPLv3. See LICENSE-AGPLv3 file for details.