codeDamon / e-Vote

An e-voting android app - for secure, fast and transparent voting

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eVote logo

e-Vote

Democratic voting is a crucial and serious event in any country. The e-Voting promises the possibility of convenient, easy and safe way to cast our votes. Voters can vote from any where in the world. Hence, significant increase in voting participation. It also decreases the cost and time of voting process.

Advantages

√ Boost participation

√ Less physical infrastructure

√ More rich ballots

√ Fast and easy votes tally

√ Less error prone

⭐ Top Features of the App

  1. Voter can login using their Voter-id Number.
  2. They will get an OTP on their registered mobile number.
  3. Voter can choose fingerprint authentication for enhancing security.
  4. They will be presented with current available posts for their region.
  5. On selecting any post, user can get the details like - start date, end date, parties participating, party leaders, etc.
  6. Voter can choose their representative they want to vote to.
  7. They have to verify their identity using fingerprint, if enabled.
  8. All past votes done by a voter can be seen in 'My Votes' page.
  9. Voters can see all the votes by all the voters participating in an election - ensuring Transparency.
  10. But they can view only content(party voted, timestamp, etc) of their own vote.
  11. All votes are saved in encrypted form using AES-256 Encryption.

📱 Screens

screens screens

📡 Technology

  1. Android
  2. Kotlin
  3. Firebase Authentication
  4. Firebase Realtime Database
  5. Androidx and MVVM Architecture
  6. Room Database
  7. Material I/O

💡 Algorithm

  1. SHA-256 Algorithm - for generating unique hash
  2. AES-256 Algorithm - for cryptography

🔧 How to build e-Vote

  1. Clone the repository
  2. Launch Android Studio
  3. Select Open an existing Android Studio project option in Android Studio
  4. Select the project folder
  5. Select Menu, then Run -> Run 'app'
  6. For testing use - Voter ID Write -> TEST1234 and OTP Write -> 123456

About

An e-voting android app - for secure, fast and transparent voting

License:Apache License 2.0


Languages

Language:Kotlin 96.1%Language:Java 3.9%