Snake Eyes Voting System Requirements
Jump to navigation
Jump to search
Admin
- Web page to create and control of a poll
- Security Locked to Poll Admin only
- Create poll
- Set poll start date
- Set poll end date
- Add and modify poll motions
- Add and modify poll voting
- Web pages to control poll participants
- Security Locked to Poll Admin only
- Add new participant
- Bulk upload of participant
- Possibly a web form which will accept a CSV list
- Display existing participants
- Delete existing participants
- Full audit trail for participant information changes to be kept
- Possibly as a history table.
- Need to note date, time, userid, and a copy of current data before it is changed when a row is deleted or updated in the participant table.
- Possibly using a trigger on the participant table.
- Audit view of participants - full history of participant information
- Possibly as a join of participants and participants history tables sorted by participant name showing audit information including who changed the data and when
- At a minimum a straight dump-and-display is needed. Being able to filter the display would be useful.
Architecture and Features
Required
- System needs to have a Test' environment and a Production environment
- Allows for functional testing of Snake Eyes Voting System components
- Allows for running polls in Production without possibility of polluting with Test data
- Preferably in such a way that functional testing can be done completely separate from the production environment
- Preferably in such a way that multiple people can access the established environments
- Poll Control
- A poll must have a set closing date set when the poll is opened
- System sets a poll as closed at midnight on the poll close date
- System will not accept votes after a poll has closed. System does not inform to voter of this.
- System disables all unused voting form keys when the poll closes.
- User Interface
- All front end business logic will be replicated in the business logic code
- Secure input method for voting page
- Secure admin pages
- Secure access to anonymous form of voting data for scrutineers
- Data Storage
- All poll data to be stored in a secure database
- No direct access allowed to data except via secure channels
- Data Validation
- Validation of voter email addresses (check that email addresses are real and exist)
- Verification of voter email addresses (ping users to confirm email address is real)
- Poll Administrator access
- Add Poll Manager
- End Poll Manager
- Noting that the Poll Manager role data is not deleted. Mark as ended. Keep data for life of system.
- Delete Poll Data
- Data to be kept for x years before it can be deleted.
- Only a Poll Manager can delete poll data
- Poll Statistics
- Number of voters invited to vote
- Number of votes received
- Poll open date
- Poll close date
- Poll motions
Optional
- System to detect voters who have have not voted and two days before the poll closes the system sends a reminder to those tardy voters
Voter Features
Required
- System will send an email to each voter containing a URL specific for the voter for a specific poll
- Voter interface will be a web page that is accessible in a modern browser
- Front end shall assist the user as much as possible where multiple options are allowed and where specific types of input are required
Optional
- JavaScript in the front end to assist the voter in using the voting form
- Tooltips and the like in HTML to provide information and help for the voter