What's in the Database? (draft)
This is the initial draft. I will flesh it out and spruik it up over time.What tables should be present? How should they be organised?
Meantime, feel free to cast your opinions.
Table: Voters
For starters, there should be a table for storing voter related information that is provided on registration. This should include stuff like:
- Voter ID*
- Login Name*
- Password
- Address
- Public Encryption Key
Now, the Voters table is a permanent feature, to be used in successive polls. Sectioned off in a separate database is information relating to a particular ballot:
Table: Ballot
This is where ballots are stored in a form accessible to everyone. Data required:
- Ballot ID
- Timestamp
- IsCurrent
- Ballot Details
- Voter Signature
- Electoral Signature
Table: VoterBallot
This is where ballots are stored in a form accessible to the voter. Data required:
- Voter ID
- Ballot ID (encrypted by voter)