Syndicate is an experimental online voting platform for small teams and groups of people.
With a back-end built on Ruby on Rails and using PostgreSQL, Syndicate seeks to implement the idea of Liquid Democracy where voters can choose to either vote directly on individual issues, or delegate their vote to a representative. It does so with an intuitive and responsive web design, leveraging Rob's very own LESS framework. With jQuery, AJAX, and Firebase, the interface and results are updated live for all users watching the votes.
The first MVP of Syndicate was completed in one week.
Syndicate is deployed on Heroku with Puma.
- working on your local feature branch you have added and committed your changes locally
- git fetch origin test-master
- git merge origin/test-master
- resolve conflicts (call teammate to help)
- TEST the application locally
- git push origin feature-branch
- create pull request on github from feature-branch to test-master
- wait for another member of the team to merge pull request
Remember to create your .env file locally otherwise you will not be able to access Firebase.
- create a .env file "touch .env" - in the root of the project
- add the line FIREBASE_URL=https://your-firebase-url.firebaseio.com/
A user can select an issue to watch.
A user can start voting directly on a live issue after signing in with his Google account.
Or a voter can delegate to anyone by clicking on his representative.