LegisLately is a webapp that makes it easier to follow activity in Congress. Unregistered users can search using their address to pull up the names and recent activity of their reps - when logged in, users get the ability to follow particular legislators and get all recent votes in a Twitter-style newsfeed.
Fork and clone the repository to your local machine.
bundle installto install dependencies.
You'll need two API keys, both set as environment variables:
a. the ProPublica Congress API
b. the Google Civic Information API
Dotenv is already set up for the app, so all you need to do is create an empty
.env file in the root folder and add the following lines:
export GOOGLE_API_KEY=yourgoogleapikey export PROPUBLICA_API_KEY=yourpropublicaapikey
rails sto start the server.
localhost:3000in your browser.
You'll need Ruby and RubyGems installed - I like RVM for this purpose.
\curl -sSL https://get.rvm.io | bash -s stable rvm install 2.3.1
You'll also need PostgreSQL installed locally. Installation varies among systems, but you can find detailed install instructions here.
Running the tests
rspec to run the test suite.
- Rails 5 - Everyone's favorite Ruby back end web framework
- Bootstrap 3 - CSS framework for developing good-looking, mobile-friendly websites
- Devise - A flexible authentication engine for Rails apps
Bug reports and pull requests are welcome at https://github.com/radditude/legislately. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Convenant code of conduct.
CJ Horton - radditude
This project is licensed under the MIT License - see the LICENSE.md file for details
- Big thanks to the folks at ProPublica for answering my questions while they were in the middle of taking over the Sunlight Labs Congress API
- Equally big thanks to the folks of the now-former Sunlight Labs for their excellent Congress API, which originally gave me the idea for this app
- Jesse Novotny's excellent Rails/Angular/Devise tutorial was a big help with getting the Angular/Devise interactions to function properly.