An app to facilitate running petition campaigns with a decoupled back-end serving HTML5 and native apps.
Petition creation and data storage is handled by a Ruby on Rails back end. Rails serves petitions as JSON to public-facing front-ends, and accepts a JSON stream of signatures and other data.
Most of the repository is for running the Rails application.
How to get started developing
You will need:
If you are on a PC or a Mac and this is your first time setting up you development machine for Ruby or Rails, Rails installer can save you time and headache.
If you're on a Mac and you'd rather configure things yourself, you'll need XCode, Command Line Tools, and Homebrew at minimum. Peter Rhodes has writen a how-to for starting your first Rails project on OSX.
If you're on Windows PC, use the Rails installer and enjoy the hours (days!) of pain you have just avoided. Α Windows development environment is not recommended for Rails projects, however.
Create a fork of this repository and make the project your own! Have a feature you'd like to contribute? Send a pull request.
Where to find more information
- Docs provides documentation for extending development, installing and operating the app, and manipulating the API.
- Roadmap sets a direction for this project
- Amnesty International Canada's Digital Communications Manual provides context for the creation of this project and background on doing petitioning and advocacy work online.
- Amnesty International Canada's Best Practices document is a guideline for coding and developing digital projects