8000 GitHub - haframjolk/epsilon: Simple anonymous online voting system with single-use password authentication.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Simple anonymous online voting system with single-use password authentication.

License

Notifications You must be signed in to change notification settings

haframjolk/epsilon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epsilon

Epsilon is a simple anonymous online voting system with single-use password authentication.

Prerequisites

Epsilon requires Python 3.9 or later and Poetry.

Setup

git clone https://github.com/haframjolk/epsilon.git
cd epsilon
poetry install

Configuration

Elections are configured using a JSON file placed in the repository root called config.json. The file must follow the following format and all options must be specified:

{
    "title": "Election Title", // The title of the election
    "passwords": ["123", "321"], // List of allowed, one-time passwords
    "candidates": ["Foo", "Bar"], // List of the candidates running
    "max_candidates": 1, // Maximum number of candidates a voter can vote for (-1 for no limit)
    "out_filename": "results.json" // Filename to write election results to
}

Running

Development

poetry run flask run

Production

poetry run ./serve.py

For production use I recommend setting up a reverse proxy using Apache or nginx and serving requests to Epsilon at http://127.0.0.1:8080.

Votes are written to the results file when the election ends. To end the election, simply stop the Epsilon process by pressing CTRL+C.

About

Simple anonymous online voting system with single-use password authentication.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0