The Decentralized Voting System is a blockchain-based application designed to provide secure, transparent, and anonymous voting. Built on the Internet Computer (ICP) ecosystem, it leverages Motoko for backend processing and integrates real-time results visualization on the frontend. This system ensures fairness in elections and prevents tampering while maintaining voter anonymity.
-
User Authentication
- Secure login using Internet Identity for unique voter identification.
-
Election Creation
- Admins can create new elections and define candidates or issues.
-
Voting Mechanism
- Registered voters can cast one vote per election.
- Votes are stored securely in decentralized canisters.
-
Real-Time Results
- Live vote counts displayed using charts and graphs.
- Automatic updates ensure users see trends as they happen.
-
Anonymity and Integrity
- Cryptographic techniques safeguard voter anonymity and data integrity.
-
Past Election Records
- Archived results available for previous elections.
- Frontend: React.js with SCSS for styling
- Backend: Motoko on the Internet Computer (ICP)
- Authentication: Internet Identity
- Visualization: Chart.js for real-time result graphs
- Node.js (v14 or higher)
- npm or yarn (for package management)
- dfx (Dfinity SDK) installed for deploying to ICP
Contributing Fork the repository. Create a feature branch. Submit a pull request. License This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgments Built using Dfinity SDK and Motoko. Frontend powered by React.js and Chart.js. Special thanks to the Internet Computer Ecosystem for their tools and resources.