SEVAS (System of Electronic Voting for Academic Senate) is an open-source project of a complex electronic election system developed for Academic Senate in Faculty of Physics, Mathematics and Informatics, Comenius University in Bratislava (FMPH).
The system provides a handy user interface run in an Internet browser. It enables students to cast their votes in elections to the Student Senate just using their PCs or smartphones. When voting has ended, the votes are counted and the final results are published.
The system ought to be minimal, yet reliable, so that it can run in any available Internet browser.
- Python as the primary back-end programming language
- JavaScript, HTML and CSS for the front end
- OpenPGP standard
- Cosign to provide logging in
- Shamir's Secret-Sharing Scheme
- Apache server
- SQLite database management system (might be changed to PostgreSQL or MySQL)
- form used by voters to cast their votes
- form validation and vote formation
- vote collection
- vote counting
- user interface for the election commission
- form encryption using OpenPGP protocol for electronic communication
- final database model
- logging in using Cosign
- configuration of Apache 2 server for logging in via
Cosign
- deployment in the structures of FMPH
- features I can't remember while writing this
#How to run the voting program on localhost
- Add your login to the database using
administration/add_voter.py
- Run the
server.py
- Type in to your browser
localhost:8000/test_index.py
- Enjoy voting!
#How to run the vote counting
- Run
local/transfer.py
- Run
local/select_candidates.py
- Run
local/counting.py
- Demo key with passphrase
hello world
is provided - Results can be displayed in
results.txt
You can find the structure of this project in CONTENTS.md
.