vote optimizes the election
Digital voting system for Abakus' general assembly, built using the MEAN-stack (mongoDB, Express, AngularJS, Node.js). Relevant (Norwegian) blog post: http://webkom.abakus.no/vote/
vote assumes you have a MongoDB-server running on
mongodb://localhost:27017/vote. To change the URL, export
MONGO_URL as an environment variable.
$ git clone email@example.com:webkom/vote.git $ cd vote # Start MongoDB-server $ docker-compose up -d $ yarn # Create a user via the CLI. You are promted to select usertype. $ ./bin/users create-user <username> <cardKey>
vote uses a RFID-reader to register and activate/deactivate users. This is done to make sure that only people that are at the location can vote. To access the RFID-reader vote is also packed as a Electron-app, in the
An example deployment can be found in the
$ yarn start
- Url to the database connection
- Hostname of the redis server
- Url to the main logo on all pages
- IMPORTANT to change this to a secret value in production!!
default: in dev:
localsecret, otherwise empty
app.js for the rest
$ yarn build $ LOGO_SRC=https://my-domain.tld/logo.png NODE_ENV=production yarn start
vote uses mocha for the backend tests and cucumber.js/protractor for the frontend tests. To run them all you can do:
$ yarn test # To run in headless mode: $ HEADLESS=true yarn test
We have a list of every occasion vote has been used. If you or your organization use vote for your event we would love if you made a PR where you append your event to the list.
The list is located at
./usage.yml. Just create a new entry at the bottom.
MIT © webkom, Abakus Linjeforening