{"id":26790540,"url":"https://github.com/dave1725/voting-app","last_synced_at":"2025-09-01T17:44:26.732Z","repository":{"id":210953144,"uuid":"715743675","full_name":"dave1725/voting-app","owner":"dave1725","description":"Voting System Empowered with Blockchain","archived":false,"fork":false,"pushed_at":"2024-12-04T04:52:11.000Z","size":3051,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T14:33:30.214Z","etag":null,"topics":["blockchain","first-project","research-project","voting-system","web3","web3-dapp"],"latest_commit_sha":null,"homepage":"https://voting-app-henna.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dave1725.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-11-07T18:40:11.000Z","updated_at":"2024-12-04T04:52:09.000Z","dependencies_parsed_at":"2025-03-29T14:40:01.230Z","dependency_job_id":null,"html_url":"https://github.com/dave1725/voting-app","commit_stats":null,"previous_names":["dave1725/voting-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dave1725/voting-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave1725%2Fvoting-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave1725%2Fvoting-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave1725%2Fvoting-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave1725%2Fvoting-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dave1725","download_url":"https://codeload.github.com/dave1725/voting-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave1725%2Fvoting-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272024542,"owners_count":24860528,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","first-project","research-project","voting-system","web3","web3-dapp"],"created_at":"2025-03-29T14:29:11.018Z","updated_at":"2025-08-25T07:32:56.669Z","avatar_url":"https://github.com/dave1725.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PEGASUSX : NEXT GEN VOTING SYSTEM\n## INTRODUCTION\nPegasusX is a web-app voting system prototype empowered by blockchain technology.\nBut what is a blockchain? And why blockchain?\n\nBlock chain has been the talk of the town in recent years. and it’s reasonable.\nBlock chain is one of the new technologies along with AI, that was born in the 21st century. And, eventually, people got obsessed with it because of its incredulous data security features. Ever since then, Block chain has become the need of the hour.\nBlock chain is seen as a modern-day tamper-proof data structure. Think of Block chain as a linked list where each node/block contains hash of previous node (except the first block), transaction id, block id, and etc. Now, answering the question, why block chain? Here, is the thing, unlike linked list, in block chain we can’t delete a block like we can delete a node in linked list. Once, it’s inserted it’s always there; nothing can change it. This special property is called immutability, and this is why it’s tamper-proof.\nSo, that should be pretty much enough to hint how block chain can revolutionize voting systems.\n\n## PROBLEM STATEMENT\nIn our day-to-day life we come across the EVM(Electronic Voting Machine) for voting our candidates/party. Through all these years we are made accustomed to it. At first sight it might look successful but if only you know how it works you will realize how easy it is to exploit these machines/systems.\n\nOur current day-to-day voting systems are prone to man-in-the-middle attack. Since the data/vote that is stored can be manipulated, it makes it exploitable at the backend. There are many such cases, one such famous case is the controversial “2016 presidential election in USA”, where the Russians managed to hack the voting systems and were in a position to alter or delete voter registration data.\n\nAccording to the Senate Intelligence Committee’s report,\nRussians, ”were able to gain access to restricted elements of election infrastructure and “were in a position to, at a minimum, alter or delete voter data.”\n\nNow, 2016 U.S presidential election was rigged by the Russian in many other ways too.  But, this was one of the most critical one. This problem was due to the mutable nature of the backend database of the voting system allowing manipulation of data.\n\nSo, now imagine if the backend was immutable allowing no manipulation at all by anyone. That’s where blockchain comes into picture. By using blockchain, we store the votes in the blockchain network where once a user votes his candidate his vote is stored permanently in the blockchain. By this way, we will be able to perfectly make the backend unalterable.\n\n## TECH STACK USED\n+ ReactJS\n\tReactJS framework has been used for frontend development. The reason being, composition i.e, it’s component based architecture allows website to be more dynamic(having less reloads).\n\n+ ExpressJS\n\tExpressJS framework has been used for backend development. It’s used to create API endpoint. It allows effective communication from frontend to backend.\n \n+ MySQL\n\tMySQL database has been used for storing voter’s Aadhar card number and name. Also to update the voting status of the user.\n\n+ Axios\n\tAxios module has been used for communicating with the backend from frontend(ReactJS).\n\n+ Solidity\n\tSolidity programming language has been used for coding the smart contract.\n\n+ ThirdWeb\n\tThirdweb service has been used to deploy and interact with the smart contract in the blockchain.\n\n## PROJECT REQUIREMENTS\nMake sure to have NodeJS latest version installed.\n\n1)Backend requirements: ExpressJS,cors,mysql\n\n\tnpm install express,cors,mysql\n\n2)Frontend requirements: ReactJS,Axios,react-router-dom\n\n\tnpm install react,axios,react-router-dom\n\n3)Blockchain requirements: Thirdweb \n\t\n \tnpm install thirdweb,@thirdweb-dev/react @thirdweb-dev/sdk ethers@5\n\n4)MetaMask Wallet\n\n## Running the Project\n+ Clone the repository\n\n\t\tgit clone https://github.com/dave1725/voting-app.git\n\n+ Navigate to backend folder then\n\n\t\tnpm start\n\n+ Navigate to frontend folder then\n\n\t\tnpm start\n\n+ Navigate to blockchain folder then\n\n\t\tnpx thirdweb deploy\n\n+ Then make sure to have your database active and match the names corresponding to the names in server.js [ Recommended to use XAMPP ]\n\n**TROUBLESHOOT**\n1-\u003e npm audit fix --force\n2-\u003e https://stackoverflow.com/questions/64557638/how-to-polyfill-node-core-modules-in-webpack-5\n\n## References\n+ Decentralized Voting System using Blockchain - GeeksforGeeks\n+ Blockchain-Based E-Voting System | IEEE Conference Publication | IEEE Xplore\n+ The-Future-of-Electronic-Voting-System-Using-Blockchain.pdf (researchgate.net)\n+ Sensors | Free Full-Text | Blockchain for Electronic Voting System—Review and Open Research Challenges (mdpi.com)\n+ DEMO: A Secure Voting System for Score Based Elections | Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security\n\n## License\nThis project is licensed under MIT license - Kindly refer the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdave1725%2Fvoting-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdave1725%2Fvoting-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdave1725%2Fvoting-app/lists"}