{"id":23020726,"url":"https://github.com/resilientapp/votechain","last_synced_at":"2025-08-25T22:07:25.838Z","repository":{"id":210444619,"uuid":"726582872","full_name":"ResilientApp/VoteChain","owner":"ResilientApp","description":" Vote-Chain is a Blockchain based voting application built using React, Node.js, GraphQL on the ResilientDB Blockchain Fabric.","archived":false,"fork":false,"pushed_at":"2023-12-19T09:51:56.000Z","size":34970,"stargazers_count":2,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T07:14:35.215Z","etag":null,"topics":["blockchain","reactjs","voting-application"],"latest_commit_sha":null,"homepage":"https://kri-hika.github.io/vote-chain/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ResilientApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-02T19:35:18.000Z","updated_at":"2025-04-18T17:36:28.000Z","dependencies_parsed_at":"2024-12-15T12:24:57.304Z","dependency_job_id":null,"html_url":"https://github.com/ResilientApp/VoteChain","commit_stats":null,"previous_names":["kri-hika/vote-chain","resilientapp/votechain","resilientapp/vote-chain"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FVoteChain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FVoteChain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FVoteChain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FVoteChain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ResilientApp","download_url":"https://codeload.github.com/ResilientApp/VoteChain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250386838,"owners_count":21422040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","reactjs","voting-application"],"created_at":"2024-12-15T12:14:57.859Z","updated_at":"2025-04-23T07:14:42.476Z","avatar_url":"https://github.com/ResilientApp.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# VoteChain\n\n## Overview\n\nWelcome 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.\n\nWebsite Link - https://kri-hika.github.io/vote-chain/ \n\n## Features\n\n1) Secure and Transparent Election\n2) Single Voting Instance\n3) Immutable Votes\n4) Limited Access to Results\n5) Electronic Vote Visualisation in the Admin Panel\n6) User Friendly interface\n\n## Architecture Diagram\n\n\u003cimg src=\"https://github.com/Kri-hika/vote-chain/assets/70900997/2282f2ba-6268-488c-9b79-999b05456be3\" alt=\"Architecture Diagram\" width=\"500\"\u003e\n\n## Tech Stack\n\n1) **ResilientDB** - A cutting-edge blockchain technology chosen for its robustness and immutability, providing secure, transparent, and tamper-resistant data storage essential for our electronic voting system.\n2) **GraphQL** - Utilised for efficient and versatile data querying, offering a streamlined interface to access blockchain based information. Implemented Fetch Transaction, Post Transaction and Send Request APIs using GraphQL.\n3) **React.js** - It was utilized for building composable and interactive user interface within the VoteChain platform, facilitating the creation of modular components and seamless UI interactions.\n4) **Material UI** - A responsive UI design library complementing React.js, ensured a consistent and visually appealing layout across various devices and screen sizes.\n5) **Node.js** - It forms the foundational infrastructure for the VoteChain back end, managing server-side logic and acting as an intermediary between the user interface and ResilientDB blockchain\n\n## Screenshots\n\n1) Home Screen\n\u003cimg width=\"931\" alt=\"Landing page\" src=\"https://github.com/Kri-hika/vote-chain/assets/70900997/75cac089-c4bc-4a16-9ab6-3f8eb985ec65\"\u003e\n\n\u003cimg width=\"931\" alt=\"Screenshot 2023-12-09 at 4 36 16 PM\" src=\"https://github.com/Kri-hika/vote-chain/assets/70900997/c3ddae29-5862-409f-8f4c-6252310b9248\"\u003e\n\n\u003cimg width=\"931\" alt=\"Screenshot 2023-12-09 at 4 38 47 PM\" src=\"https://github.com/Kri-hika/vote-chain/assets/70900997/26a31fbe-ec70-4acc-a4c7-f8bb555c2def\"\u003e\n\n2) Elections Screen\n\u003cimg width=\"931\" alt=\"Screenshot 2023-12-09 at 4 40 37 PM\" src=\"https://github.com/Kri-hika/vote-chain/assets/70900997/8ca87ccb-b473-49ae-a2a2-47101db9b4cd\"\u003e\n\n3) Candidates Screen\n\u003cimg width=\"931\" alt=\"Screenshot 2023-12-09 at 4 41 32 PM\" src=\"https://github.com/Kri-hika/vote-chain/assets/70900997/4f6c9d9f-9a73-4e00-9382-243a1dea8d4d\"\u003e\n\n4) Admin / Results Screen (Admin Login - Email = admin_votechain@gmail.com, Password = 123456)\n\u003cimg width=\"931\" alt=\"Admin_Page_ss\" src=\"https://github.com/Kri-hika/vote-chain/assets/70900997/404f325a-f515-4849-a3f9-1e7c09033524\"\u003e\n\n\n## Steps to run the system\n\nPlease follow the detailed procedure below and ensure that every step is successful.\n\n### Setup Python3.10\nEnsure you have Python3.10, otherwise download it and set it up as default.\n\n### Setup ResilientDB\nYou will need to clone the ResilientDB repo to get started:\n```\ngit clone https://github.com/resilientdb/resilientdb.git\n```\nThen navigate inside the ResilientDB directory:\n```\ncd resilientdb\n```\nInstall dependencies:\n```\nsh INSTALL.sh\n```\nRun ResilientDB KV Service (this may take a few minutes for the first time):\n```\n./service/tools/kv/server_tools/start_kv_service.sh\n```\n\n### Setup Crow HTTP server, SDK, and GraphQL server\nYou will need to clone the ResilientDB GraphQL repo to get started:\n```\ngit clone https://github.com/Amoolya-Reddy/ResilientDB-GraphQL\n```\n\nThen navigate inside the ResilientDBGraphQL directory:\n```\ncd ResilientDB-GraphQL\n```\n\nInstall the Crow dependencies:\n```\nsudo apt update sudo apt install build-essential sudo apt install python3.10-dev sudo apt install apt-transport-https curl gnupg\n```\n\nBuild Crow HTTP server (this may take a few minutes for the first time):\n```\nbazel build service/http_server:crow_service_main\n```\n\nStart the Crow HTTP server:\n```\nbazel-bin/service/http_server/crow_service_main service/tools/config/interface/service.config service/http_server/server_config.config\n```\n\nCreate virtual environment for the Python SDK:\n```\npython3 -m venv venv –without-pip\n```\n\nActivate the virtual environment:\n```\nsource venv/bin/activate\n```\n\nInstall pip in the virtual environment for the Python dependencies:\n```\ncurl https://bootstrap.pypa.io/get-pip.py | python\n```\n\nInstall the Python dependencies:\n```\npip install -r requirements.txt\n```\n\nStart the GraphQL server:\n```\npython3 app.py\n```\n\n## Setup VoteChain\n\nFollow these steps to set up the development environment and run the application locally.\n\n### Prerequisites\n\nBefore you begin, make sure you have the following software installed on your machine:\n\n1. **Node.js** - Download and install Node.js from [https://nodejs.org/](https://nodejs.org/)\n\n2. **npm (Node Package Manager)** - npm is included with Node.js. Ensure that you have the latest version by running the following command in your terminal:\n\n   ```\n   npm install\n   ```\n\n## Clone the Repository\nClone this Git repository to your local machine using the following command:\n\n ```\n git clone https://github.com/Kri-hika/vote-chain.git\n ```\n   \n\n## Install Dependencies\nNavigate to the project directory and install the project dependencies. Run the following commands in your terminal:\n\n ```\n cd vote-chain\n npm install\n ```\n   \nThis will install all the required dependencies specified in the package.json file.\n\n## Run the Application\nOnce the dependencies are installed, start the development server to run the application. Run the following command:\n    \n```\nnpm start\n```\n\nThis will launch the application, and you can access it in your web browser at [http://localhost:3000](http://localhost:3000).\n\n## For more information\n\nRefer to the Blog - https://naitikjain3071.wixsite.com/my-site\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresilientapp%2Fvotechain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fresilientapp%2Fvotechain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresilientapp%2Fvotechain/lists"}