3 ms·
I made a electronic voting system. Nothing too fancy, it was 85% documentation and 15% code (because very little of the final grade was about code anyway). It
by UnoriginalGuy 12y ago
I made a electronic voting system. Nothing too fancy, it was 85% documentation and 15% code (because very little of the final grade was about code anyway).
It was an attempt at reproducing proctors into an electronic system. Namely interested parties could sign up to receive the votes in real-time. It had two kinds of distinct databases/receivers (vote tallies, and a list of people who had voted).
The two databases were designed so that they were auditable but went to pains so the two couldn't be merged later trivially. So discovering who you voted for was non-trivial. This was done in part by delivering the votes in real time (no caching) and delivering the people who voted in big dumps and randomising them continuously (so that the order they voted wasn't deterministic). The voter database didn't even store which terminal they used, only which location (since that is needed to check it against the paper list later).
Essentially it was four pieces of software: A voting station, a vote receiver/database, and a voter receiver/database, and a "vote designer" which just set up the voting station's config (which was XML).
It was originally meant to have a piece of software so that people could register themselves to become receivers/proctors but it was never implemented and I had more than enough to talk about with the design and what was implemented (and it also left me something to talk about in my areas of improvement section).
After I graduated it was never touched again and I don't even know if I still have the code...