Table of Contents
The executive branch, or government, is typically not elected directly by the people, but rather formed by another elected body or person such as the parliament or the president. As a result, its members are not directly accountable to the people, individually or as a group. Indeed, in coalition systems, following coalition negotiations, each party in the coalition gets a group of ministries which, in turn, have to be populated by ministers. We consider a scenario in which the members of the government are elected directly by the people, and wish to achieve proportional representation while doing so. The project includes a system for electing ministers in the government, a research paper that analyzing the results of the algorithm and an application that will present the algorithm.
To get a local copy up and running follow these simple steps.
For development, you will only need Node.js, npm and python installed on your environement.
- For the Client side:
- To download the latest version of npm (include Node.js), on the command line, run the following command:
or visit https://nodejs.org/en/
npm install
- To see if you already have Node.js and npm installed and check the installed version, run the following commands:
node -v npm -v
- To download the latest version of npm (include Node.js), on the command line, run the following command:
- For the Server side:
- To see if you already have python installed and check the installed version, run the following commands:
python --version
- If pip is not installed on your computer, download it via the following link: https://pip.pypa.io/en/stable/installation/
- To see if you already have python installed and check the installed version, run the following commands:
-
Clone the repo
git clone https://github.com/ItaiLash/ourGovernment-React.git
-
Open the repo in two different terminals (one to activate the server and another one to activate the web app).
-
-
First, go into the Server folder:
cd Server
-
Then, you need to install some packages for the server:
- Django
pip install django
- Django REST framework:
pip install djangorestframework
- django-cors-headers:
pip install django-cors-headers
- CORScanner:
pip install cors
- opempyxl -
pip install openpyxl
- Django
-
Inside the Server directory run the command
python3 manage.py runserver
-
You are supposed to see:
-
- On the website itself, click on the Demo button that will take you to another page.
- On the demo page, enter the following parameters in the appropriate textboxes:
- Number of offices.
- The maximum number of candidates for any office.
- Number of voters. Click submit.
- A number of cards will open and in each tab the name of the office and the names of the candidates must be entered. Click next (note that there is a delay of 5 seconds until the next component is received).
- After a few seconds more cards will open where each voter's name and his choices (preferences) must be entered. Click done (here too there is a delay of 5 seconds).
- The results of the algorithm run will be displayed on the screen and there will be a link to download explained results.
- Itai Lashover - @ItaiLash - [email protected]
- Liav Weiss - @liavweiss - [email protected]
- Amichai Kafka - @amichaikafka - [email protected]
- Shani Levin - @shaniLevin1 - [email protected]
Project Link: https://github.com/ItaiLash/ourGovernment-React
- Electing the Executive Branch wrote by Rutvik Page, Ehud Shapiro & Nimrod Talmon.
- Election Of Government Ministers wrote by Itai Lashover, Liav Weiss, Amichai Kafka & Shoshana Levin.
- Vision Statement
- Software Design Document
- Usability Testing