This project is to build a website to implement borda count. Itβs a method of aggregating individual preferences into a social preference. An administrator creates an event, which is a choice among K objects (e.g. times for a meeting). N different users then rank the K objects, and the website uses the Borda Count to deliver the top choice. Extensions use other algorithms also, like bidding with points.
The application implements the aggregation algorithm and a Python Django application for the users to submit their choice. Stakeholders for this project are Dr. Korok Ray, Dr. Duncan Walker.
To create Virtual Environment(First Only, skip this step and activate Virtual Environment if you have the setup already.)
python3 -m venv myvenv
To activate Virtual Environment:
source myvenv/bin/activate
To update pip (First time only, skip this step if you're not setting up the application)
python -m pip install --upgrade pip
To install necessary packages for the applications use:
pip install -r requirements.txt Note:
requirements.txt
has the required packages for this application. Dopip freeze > requirements.txt
to add newly installed packages.
To run migrations:
python manage.py migrate Note: Migrations are to be run for the first time and only when there's a change in models.py
To run the server:
python manage.py runserver Visit http://127.0.0.1:8000/ to see the Application running.
The application is deployed at https://bordacount.herokuapp.com/
We maintained a different branch for each iteration and tagged them with the name of that respective iteration. Final source code till today can be found under the main branch.
Project Demo Video:
Fall 2021: https://vimeo.com/656439233 Spring 2022: https://youtu.be/W21kQuD2QHs