SimpleVote - An open-source, live updating, voting platform based on range voting.
SimpleVote is an open-source, self-hostable, live-updating voting/polling platform, for both live meetings, or extended polls.
Polls can be dynamic, meaning users can(if allowed) contribute options and questions themselves.
It uses range voting (also known as olympic score voting) for all your poll options. Range voting is more expressive than simple :thumbsup: or :thumbsdown: votes (IE approval). It also beats out IRV, and first past the post for minimizing voter regret.
Features:
Tech used:
Check out a sample poll here.
If you want to self-host or help develop simplevote.
git clone https://github.com/dessalines/simple-vote
cd simple-vote
// edit ARG ENDPOINT_NAME=http://localhost:4567 in ./Dockerfile to your hostname
docker-compose up
Goto to http://localhost:4567
npm i -g @angular/cli@latest
git clone https://github.com/dessalines/simple-vote
Here are some instructions to get your DB up and running.
psql -c "create user simplevote with password 'asdf' superuser"
psql -c 'create database simplevote with owner simplevote;'
cd simplevote
vim service/pom.xml
Edit it to point to your own database:
<!--The Database location and login, here's a sample-->
<jdbc.url>jdbc:postgresql://127.0.0.1/simplevote</jdbc.url>
<jdbc.username>simplevote</jdbc.username>
<jdbc.password>asdf</jdbc.password
For local testing:
./install_dev.sh
and goto http://localhost:4567/
For a production environment, edit ui/src/environments/environment.prod.ts
to point to your hostname, then run:
./install_prod.sh
You can redirect ports in linux to route from port 80 to this port:
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 4567
Have a bug or a feature request? If your issue isn't already listed, then open a new issue here.