The app takes ranking ballots collected with Microsoft Forms within an organisation, and calculates the results using ranked pairs method (used by nerds, instead of the Microsoft Forms built-in point-based method) and visualises the results. It optionally checks against a list of eligible voters in an organisation.
To learn more about the ranked pairs method, see ranked pairs on Wikipedia. To interactively learn about different voting methods, see Nicky Case's To Build a Better Ballot (it does not go into the details of the ranked pairs method though).
See voting setup instructions.
- Copy
.env.prodto.envand fill in the required values - Run
docker-compose up -d
- Copy
.env.prodto.envand fill in the required values - Run
docker-compose up
- Go to
backendfolder - Create and activate a Python virtual environment (Python 3.10 or later)
- Run
pip install -r requirements.txt - Copy
.env.exampleto.envand fill in the required values - Create
datafolder - Run
fastapi dev main.py
- Go to
voting-webapp-frontendfolder - Run
npm install --force - Run
npm run dev
Live demo. Please do not upload any sensitive data.
- Use D3.js or similar for visualising the results


