-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
76 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,81 @@ | ||
# Uchaguzi Online | ||
#### Uchaguzi (swahili word for elections) online for requires internet connection, this is a website to facilitate online voting. | ||
|
||
#### Demo | ||
### Snapshot | ||
![home2](https://user-images.githubusercontent.com/78599959/236873128-fe0819ef-7da8-41d7-842f-052f53b8c7f6.png) | ||
|
||
#### Technologies used: | ||
- HTML | ||
- CSS | ||
- JS | ||
- Bootstrap CSS | ||
- Django | ||
|
||
### Website info. | ||
#### The website is currently limited to facilitate elections in a campus. This is done for testing purposes and efficiency of the website. | ||
#### The website is used by the following people: | ||
- Voters | ||
- Electoral officials (who are the administrators) | ||
- Electoral candidates (students vie for a leadership post) | ||
|
||
## Overview | ||
Uchaguzi online is an online voting website that serves a tertiary institution, in this case, Rongo University. *Uchaguzi* is a Swahili word for "elections" while *online* emphasizes the need to have have internet connection to access the website. | ||
|
||
The website is used by the following people: | ||
|
||
1. Students | ||
Students have to create an account and must be currently enrolled in the university to participate in elections. Once a student creates an account, he/she must register as a voter. Only registered voters can participate in voting online. | ||
|
||
Roles of a student | ||
- A student **MUST** exercise his/her democratic right by electing nominated candidates of his/her choice to serve in the student's council. | ||
- A student can vie for available electoral seats by filling in and submitting nomination forms via the website. | ||
- A student **SHOULD** promote peace and live in harmony with other students during the elections period. | ||
- A student **MUST** ensure he/she is a registered voter. | ||
|
||
## 1. Voters | ||
#### Only students who are registered voters can vote. To become a registered voter you must create an account in the website and update your profile. | ||
|
||
##### Roles of a voter | ||
- Ensure he/she is a registered voter | ||
- Vote in time before the scheduled date and time expires | ||
- Live in harmony and promote peace during elections | ||
|
||
## 2. Candidates | ||
#### Electoral candidates are students/comrades who wish to join the students council by vieing for an electoral post. One student can only vie for one electoral post. | ||
|
||
##### Roles of a candidate | ||
- He/she must not have a criminal record | ||
- He/she must meet all requirements needed to for a certain post | ||
- He/she must promote peace in his/her campaigns | ||
|
||
## 3. Electoral Officers | ||
#### This is the staff appointed to nominate electoral candidates and help voters who are having problems during voter registration. The electoral officials department consists of the following rank: | ||
- Commisioner (top most rank - HOD in a given school assumes this role) | ||
- Assistant Commissioner (mostly assumed for the secretary and MUST be reserved and restricted to the female gender) | ||
- Returning Officer | ||
|
||
##### Roles of an electoral officer | ||
- He/she must not be biased when nominating candidates | ||
- All electoral officials must provide elections schedule to voters in time | ||
2. Aspirants/candidates | ||
Aspirants are students who wish to join and serve in the student council for the specified tenure of 1 academic year. | ||
|
||
Roles of an aspirant | ||
- He/she **MUST** not have a criminal record or have a history record of enticing students to riot. | ||
- He/she **MUST** be an enrolled student. Suspended or expelled students will not be allowed to vie for an electoral seat in the student council. | ||
- He/she **MUST** meet all requirements needed to vie for an electoral position. | ||
- He/she **MUST** promote peace in his/her campaign. Any student associated with violence during campaigns will be disqualified. | ||
- Aspirants **SHOULD** ensure that they have correctly filled in their nomination forms and submitted to their respective school's electoral officers. | ||
|
||
|
||
3. Electoral Officers | ||
This is the staff appointed to nominate electoral candidates and help voters who are having problems during voter registration. The electoral officials department consists of the following rank: | ||
- Commisioner (top most rank - HOD in a given school assumes this role) | ||
- Assistant Commissioner (mostly assumed for the secretary and MUST be reserved and restricted to the female gender) | ||
- Returning Officer | ||
|
||
Roles of an electoral officer | ||
- He/she must not be biased when nominating candidates | ||
- All electoral officials must provide elections schedule to voters in time | ||
|
||
|
||
#### Developer instructions | ||
If you wish to be make contributions, follow the instructions stated below. | ||
|
||
1. Clone this repo to your Desktop or your preferred location using Git. | ||
2. Make sure you have installed Python interpreter on your machine. If not you can download it on this website [Python's official website](https://www.python.org) | ||
3. Once installed, open the cloned repo (folder) in your terminal/CMD and create a virtual environment using the following command: | ||
|
||
`python3 -m venv .venv` | ||
|
||
4. Once the virtual environment is created, activate it using the following command: | ||
|
||
```(Linux/MacOS) | ||
source .venv/bin/activate | ||
``` | ||
|
||
```(Windows) | ||
.venv\Scripts\activate | ||
``` | ||
5. Install project modules using the following command: | ||
|
||
```pip install -r requirements.txt``` | ||
|
||
6. To run the website offline, activate development server using the following command: | ||
|
||
```python3 manage.py runserver``` | ||
|
||
7. Open your browser and type `127.0.0.1:8000/users` a new tab. | ||
8. Create a new branch, and make your contributions. Create a pull request and wait for review. | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|