top of page

VoteChain

Make Your Voice Heard: Vote for Change
Check out our deployed project  - 
Overview

Welcome to the "VoteChain" – a pioneering platform utilizing ResilientDB and GraphQL, a cutting-edge blockchain technology, to revolutionize the landscape of electronic voting systems. Our primary focus is to ensure a secure and transparent voting process while emphasizing the significance of each voter's singular vote.

​

VoteChain is designed to guarantee the permanence of votes, enabling every participant to cast a single vote per election. Our system strictly prohibits multiple votes, ensuring the integrity and fairness of the electoral process.

​

One of the standout features of VoteChain is its user-friendly interface and the provision of a dedicated admin panel. Within the admin panel, a comprehensive display of all elections and their respective candidates' votes is showcased. These statistics are presented dynamically through visually intuitive representations such as bar graphs, pie charts, and polar area charts.

​

At VoteChain, we are committed to fostering a trustworthy environment where the sanctity of each vote is upheld. Our utilization of ResilientDB technology ensures the highest standards of security, transparency, and reliability in electronic voting, empowering individuals to participate in the democratic process with confidence.

Overview

Features

1920x1080-white-solid-color-background.jpeg
undraw_voting_nvu7-removebg-preview.png

Secure and Transparent Election

Ensures a secure, tamper-proof voting process with transparent results through blockchain technology.

undraw_Safe_re_kiil-removebg-preview.png

Single Voting Instance

Allows each voter to cast only one vote per election, preventing multiple voting instances for fairness.

Immutable Votes

Utilizes blockchain to create an unchangeable ledger, ensuring the permanence and integrity of votes.

1920x1080-white-solid-color-background.jpeg

Limited Access to Results

undraw_access_denied_re_awnf-removebg-preview.png

Restricts access to the results screen, maintaining confidentiality and ensuring authorized viewing.

undraw_visual_data_re_mxxo-removebg-preview.png

Electronic Vote Visualisation in the Admin panel

Provides visual representation of votes through graphs (e.g., Bar chart, Pie chart, Polar area chart) in the admin panel for comprehensive analysis.

undraw_Usability_testing_re_uu1g-removebg-preview.png

User friendly interface

Offers an intuitive and easy-to-use interface for seamless navigation and interaction within the voting system.

Use Case

Use Case

ResilientDB and GraphQL Setup

1920x1080-white-solid-color-background.jpeg

Step 1 : Prerequisites

Setup Python 3.10

​

Ensure you have Python 3.10, otherwise download it and set it up as default.

​

Check with:
   python3 –version

Step 2 : Setup ResilientDB

Clone the ResilientDB repo to get started:

​

   git clone https://github.com/resilientdb/

   resilientdb.git

​

Then navigate inside the ResilientDB directory:

​

   cd resilientdb

​

Install Dependencies:

​

   sh INSTALL.sh

​

Run ResilientDB KV Service (this may take a few minutes for the first time):

​

   ./service/tools/kv/server_tools/start_kv

   _service.sh

You will need to clone the ResilientDB GraphQL repo to get started:

   git clone https://github.com/ResilientApp/ResilientDB-GraphQL.git

​

Then navigate inside the ResilientDBGraphQL directory:
   cd ResilientDB-GraphQL

​

Install the Crow dependencies:
   sudo apt update sudo apt install build-essential sudo apt install python3.10-dev           sudo ap
t install apt-transport-https curl gnupg

​

Build Crow HTTP server (this may take a few minutes for the first time):
   bazel build service/http_server:crow_service_main

​

​Start the Crow HTTP server:
   bazel-bin/service/http_server/crow_service_main 

   service/tools/config/interface/service.config 

   service/http_server/server_config.config

​

Create virtual environment for the Python SDK:
   python3 -m venv venv –without-pip

​

Activate the virtual environment:
   source venv/bin/activate

​

Install pip in the virtual environment for the Python dependencies:
   curl https://bootstrap.pypa.io/get-pip.py | python

​

Install the Python dependencies:
   pip install -r requirements.txt

​

Start the GraphQL server
   python3 app.py

Step 3 : Setup Crow HTTP server, SDK, and GraphQL server

Project Setup

Project Setup

1920x1080-white-solid-color-background.jpeg

Step 1 : Prerequisites

Node.js - Download and install Node.js from https://nodejs.org/

​

Ensure that you have the latest version by running the following command in your terminal:

​

  npm install

Step 2 : Clone the Repository

Step 3 : Install Dependencies

Clone this Git repository to your local machine using the following command:

​

  git clone https://github.com/Kri-  hika/vote-chain.git

Navigate to the project directory and install the project dependencies. Run the following commands in your terminal:

​

  cd vote-chain

  npm install​

​

This will install all the required dependencies specified in the package.json file.

Step 4 : Run the Application

Once the dependencies are installed, start the development server to run the application. Run the following command:

​

  npm start

​

This will launch the application, and you can access it in your web browser at 

http://localhost:3000.

Clone this Git repository to your local machine using the following command:

​

- git clone https://github.com/Kri-hika/vote-chain.git

Work Flow

User flow
Flowchart (1)-PhotoRoom.png-PhotoRoom.png
border-removebg-preview_edited.png

Architecture Diagram

border-removebg-preview_edited.png
Testimonials

Project Timeline

Testimonials

Tech S​tack

Our Team

IMG_9688_edited.jpg

Naitik Jain

Backend Developer

IMG_2708.PNG

Krithika Naidu

Backend Developer

Screenshot_20231207-161933~2.png

Shivani Suryavanshi

Frontend Developer

Tanvi Mehta.png

Tanvi Mehta

Frontend Developer

Harshil.HEIC

Harshil Bhandari

Frontend Developer

Contact Us

Get in touch by filling out the form. We’ll respond as soon we can.

Thanks for submitting!

bottom of page