Git Product home page Git Product logo

voting-daap-2017's Introduction

E-voting

A VAB project

Table of Contents

Overview

We have come up with a public voting system where the voting could be transparent, secure and trustable.

Technology

So our E-voting app is devided into five major component.

  1. Ethereum running on AWS EC2 instance as pvt block.
  2. Nodejs Admin app Deployed over Heroku
  3. Vuejs Based Mobile app which can be installed as Android build
  4. A mongo as a service for database
  5. Adhaar Checksum for Adhaar validation (future use India-Stack)

When an Admin registers we do following things

  1. Create an Account on Ethereum server
  2. When the response has come from geth we input the user in our Mongo Data base parameters : {"acountAddr","userAdhaar","Username","passKey"}
  3. Now when Admin has to login he has to enter Adhaar and passkey
  4. When he is logged in he is taken to a pannel where he can create Ballots
  5. The Ballot creation need three parameter in the constructor {"Ballot Name","Start Time","Nominee List"}
  6. After creating the ballot you can select the ballot and upload the Voter List which is string of Adhaar Id

When user opens the mobile app

  1. He selects the Polls he want to vote for and enters his Adhaar Id
  2. We Check in the Contract if his Adhaar Id exist or not on Ethereum
  3. if it exist he is taken to the ballot where here does the voting

System Architecture

alt text

Future Architecture Implementation . (Could be more scalable and basic security out of the box from aws)

alt text

API

/**
*  ------------Sample APIS-------------------
* http://localhost:3000/api/create-ballot
* http://localhost:3000/api/addparty
* http://localhost:3000/api/parties-list
* http://localhost:3000/api/add-voter
* http://localhost:3000/api/validate-voter
* http://localhost:3000/api/vote
* http://localhost:3000/api/vote-count
* http://localhost:3000/api/validate-adhar
* http://localhost:3000/api/ballot-list
* http://localhost:3000/api/admin-create
* http://localhost:3000/api/admin-login
* 
*/

Problem

Everything in this world is available online but even now we have to go to a polling center and wait in a queue for 3–4 hours to cast our vote? It’s weird. Isn’t it?

Majority thinks its the security . But what if Blockchain could fundamentally change that?

Solution

Using Ethereum as block chain we tried to solve this problem. So we have an App where the govt entity can register themselves .

alt text

They get an account and they can create Ballots .

alt text

They can upload Voter List for the ballot.

alt text

User open's Installs mobile app and use his Adhaar Id for login .

alt text alt text alt text alt text

Contract

  https://github.com/Vishwas1/voting-daap-2017/blob/master/app/contract/Ballot.sol

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Mobile App

 https://github.com/vikramIde/votingapp-mobile
 

Author

E-Voting © Vishwas1, Released under the MIT License.
Authored and maintained by vikramIde with help from contributors (list).

The Team

vick.Anand · GitHub @rapchik ·

Vishwas.Anand · GitHub @Vishwas1 ·

Harshitha.naidu · GitHub @harshitha ·

voting-daap-2017's People

Contributors

harshitha-nano avatar vikrambhusan avatar vishwas1 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.