Council app
(Searching for a better name)
The goal of this application is to improve how we do group decision making in our communities. Instead of just digitizing current voting practices and moving them online, without much added value, this project aims to explore and improve technologies we use for decision making. Some current ideas:
- support for communities which meet offline, but want to use online tools to augment their decision making
- tools for better facilitation of discussions
- score voting for better multiple-choices decision making
- dynamic statistical quorum
- vote delegation
- visual feedback on decision making process and progress
The project is in very early stages. Any feedback is welcome.
Development
The application uses Meteor web framework. Install it:
curl https://install.meteor.com/ | sh
Clone the repository:
git clone --recursive https://github.com/mitar/council-app.git
Run it:
meteor
And open http://localhost:3000/.
Currently you will have to manually create accounts using meteor shell
:
var userId = Package['accounts-base'].Accounts.createUser({username: 'admin', password: 'password'});
Package['alanning:roles'].Roles.addUsersToRoles(userId, ['admin', 'moderator', 'manager', 'member']);
Running
To run the application in production you can use Docker.
The application is provided as mitar/council-app Docker image. It is based on tozd/meteor image for Meteor applications. tozd/meteor-mongodb image is recommended for MongoDB because it creates necessary Meteor MongoDB database configuration automatically.
You can see run.sh
file for an example how to run it.
You have to adapt the script for your installation. It contains hard-coded values for another installation.