We could use your help building the new Rails version of ToSBack! The hackathon page has a good overview of basic site functionality if you aren’t familiar, but this page should help you see how the components come together. Open your favorite text editor and start contributing!
What We Want to Build
Here’s a basic description of how it should come together:
- Policy information in the policies table that isn’t marked as “needs_revision” will be scheduled to scrape policy data from the original site and added to the “crawls” table.
- Users will submit new or modified policy information into a “pending_changes” model.
- Admins will approve the “pending_changes” and “crawls” (scrape data) before it is visible to most users.
- Approving crawls will replace the current data in the policies table and add a row to the versions table.
- ToSBack will email users that have subscribed to the policy being changed.
And this how the models should be associated:
Would you like to contribute? Awesome! Here are some general guidelines to remember:
- Write a failing test before implementing the new feature (Red-Green-Refactor).
- Keep the controllers and views skinny.
- ToSBack is using factories and RSpec instead of fixtures and Test::Unit.
- Add the feature you’re working on to the issue tracker if it’s not there already!
Here are some tasks to get us started!
- Annotating our models, tests, fixtures, and factories.
- Use layouts and partials to begin building a DRY header and footer area.
- Add a planned model or controller (with tests and basic validations) that hasn’t been implemented yet.
- Modify sites#index to display recently changed policies first.
- Update policy#show action (individual policy)
- User can choose between available versions.
- App should display the diff of the versions chosen.
- Secure any location that may be vulnerable to XSS.
Not a Rails Developer?
- Style the pagination links!
- Add some Sass or Bootstrap it!
- Submit a rule to help us build our database of online policies!
Join the #tosback channel on irc.oftc.net if you have any questions and we’ll be glad to help!