Andrew Bauer's profile

Touch-screen Voting App

'Amercia Elections', a project which took place for #ElectionClass, is a full-featured touch-based voting platform. The real-time voting system includes a voter registration system, queue management (for voters in line), real-time analytics (powered by WebSockets, using Pusher), and a fully anonomyous -- yet accountable -- voting process. The class held a fake election for President of 'Amercia', after a long season of campaigning. Details of the Syracuse University class are available at http://www.electionclass.com
 
The touch-screen voting system was built with PHP & javascript. The platform features a front-end voting interface and a back-end administration section.
 
 
Full source code available at https://github.com/awbauer/AmerciaElections
Here's how the system worked on Election Day:
1) Voters would approach 'registration', where a staff member would enter their student ID number into the system
2) Their student ID number was hashed and stored in the database -- which both prevented users from voting more than once and allowed us to anonymously track data trends.
3) Once the new voter was registered, a notification was sent to Pusher.
4) The 'voting computer' received the notification from Pusher, checked the DB for new voters, stored the voter's ID in session & activated the voting process.
5) The voter tapped "Let's vote" to begin. A notification that the user started voting was sent back to Pusher.
6) After choosing their candidate and answering the exit poll questions, another notification was sent back to Pusher. A message calling the next voter was displayed on a third monitor.
7) A PHP script polled the DB to check for other voters who hadn't yet voted & activated the touch-screen, if any existed.
Touch-screen Voting App
Published:

Touch-screen Voting App

Touch-screen voting application, built with AJAX/jQuery/WebSockets/MySQL/PHP.

Published:

Creative Fields