Slack app for Voting on Stories and Tickets remotely and asynchronously.
AsyncVoter allows an entire Slack team to vote on an issue. AsyncVoter keeps track of the votes and keeps them secret until you're ready to reveal the results. This means the your team does not have to be on Slack at the same time. They can vote asynchronously.
You can vote on any thing: you just provide some text to display. (You can include a line, for example, to a project task.)
- Install this app to your Slack team visiting https://production.asyncvoter.agileventures.org and pressing on the
Add to Slack
button. - Run a voting session on an issue launching the new
/voter issue
command in any channel. - Submit your vote pressing on any of the three difficulty buttons (Easy, Medium or Hard).
- Finish and reveal the result of the voting session by pressing on the
Reveal
button. (We recommend to wait until you will receive 3 or more votes)
- Votes cannot be reset. But users can vote multiple times on the same issue.
- It supports parallel voting sessions in different channels only.
Create an issue in this repo, or contact us at #async_voter
-
Install dependencies
npm install
-
copy
.env.example
to.env
-
ensure redis is running
-
Run tests
npm test
-
Run the server
npm run dev
You need to set up your own Slack team and Slack app to continue!
## Setting Up your own Slack team and app
- Create a Slack Team
- Create a Slack app
- Install
ngrok
and runngrok http 4390
to expose your local server - Enable
Slash Commands
in your Slack app withhttps://<YOUR-NGROK-URL>/commands
- Enable
Interactive Messages
in your Slack app withhttps://<YOUR-NGROK-URL>/actions
- Rename
.env.example
to.env
and set your Slack app tokens there - Go to http://localhost:4390 and follow the instructions.