We all currently swing in full force in the cradle of technological advancements. Every single thing in the past had suffered a massive transformation and none seems to be the way it was before 2 to 3 decades. But we all still do voting in the exact same conventional fashion. The conventional way of voting has an increased likelihood of ending up with discrepancies and That is why we convicted ourselves to break this stereotype and bring limelight to voting in today's technological way.
What it does
- The holder creates an account with a username and password which will be authenticated, authorized and stored in Affinidi
- With permission from the user their ip address, mac address are also collected to establish a two-factor verification
- The issuer receives the credential, examines on it, validates the credential if it's right, which now makes the user's unsigned credential, a signed one as in the Affinidi API
- When the user votes, the vote will be verified by the verifier which is again a governmental organization. And when the election period ends, the server IP is switched using Huawei's Elastic IP (therefore no third party can access it) then the verifier counts the votes by cross checking all the verifiable factors of all votes such as the ip address etc and then counts the votes and declares the result.
- Users data and votes are immutable at any cause.
How we built it
- Issuer and Verifier dashboard built with React
- Affinidi API and database dependency injection written on server side with Node
- Vote from Home application written on Flutter
- Supabase Postgres database used and deployed in Huawei Cloud ## Challenges we ran into
- Figuring out the use cases of Affinidi API was challenging
- Writing server side along with Affinidi API was herculean task
- Understanding the functions of Huawei cloud was tiresome
Accomplishments that we're proud of
- Introducing a new secure way to vote
- Figuring out a complex API as a beginner
What's next for Vote from Home - Your Democratic right Modernized
- Adding more security features and making the application tamper-proof
- Scale to production