VotingClient-BlockVote

Overview

This client will be used by voters to register and vote for an election. The ballot will be recorded on the blockchain service from Bluemix. With the blockchain and the voting protocol, a secure, anonymous and verifiable elections can be held.

  • Add LICENSE info

Functional Requirements

  • allow the voter to select which election they wish to vote in
  • allow the voter to register/authenticate to vote for an election
  • allow the user to cast a vote only after registration/authentication
  • allow for the secure generation and storage of any public private key pairs or certificates for the purpose of authentication
  • provide secure/encrypted communication to the backend
  • allow for the verification that a vote was cast to the blockchain

Non functional Requirements

  • the client application shall be easy to use to the general population from all walks of life and different computer skills
  • the client application shall be responsive
  • the client application must be reliable.
  • the client application must process inputs from the user in a reasonable amount of time.
  • the client application shall use minimal data.

Resource

Notes

  • The draw.io file for the wireframes are available under the Wireframes folder. Don't forget to update the .png and the xml inthe directory after modifying.