Participate is a democratic participation plaftorm, based on LiquidFeedback, the open source system used at the Pirate Party for its internal decision making and policy creation, and on its principles.
Development is in its early stages.
The platform is made up of a ruby API built on Grape, whose codebase you'll find in this repo, and a Ember.js front-end app that lives at another repo.
The API has endpoints essentially CRUDing the basic domain models (like Initiative, Vote and Delegation), and work will start soon on the core logic (such as Initiative states/phases, calculating voting weight, and harmonic ordering) implementing LF's algorithms. Work on the frontend app has just started.
- Fork this repo
- Bundle
- Install MongoDB and start it
$ brew install mongodb
$ mongod --logpath mongo.log &
- Start Guard
$ guard
- Hit Enter/Return to run the test suite.
Acceptance tests use the RSpec API Documentation gem, which generates docs that get served online in parallel with the API. Unit tests use RSpec. Development is fully test-driven.