Skip to content
hackathon Dec. 2013 - a Petition app backend and frontend for Amnesty Int.
Ruby CSS JavaScript CoffeeScript
Branch: master
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
design
doc
lib
log
pages
public
script
test
vendor
.gitignore
Gemfile
Gemfile.lock
README.md
Rakefile
config.ru
project.json

README.md

Campaigner

Overview

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.

Directory structure

Most of the repository is for running the Rails application.

A web front-end designed for Amnesty International is provided in /public. Design materials are in /design.

How to get started developing

You will need:

Linux machines are good to go with the above, more-or-less. Congratulations! Nonetheless, Ryan Bigg has writen a good tutorial for setting yourself up on Linux, just in case.

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.

Code promotion

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
You can’t perform that action at this time.