/THDTVoting

Voting dApp built with ReactJs and Solidity

Primary LanguageJavaScriptMIT LicenseMIT

Decentralized Voting System

Overview

This project implements a decentralized voting system using blockchain technology. The smart contract is built with Solidity, and the frontend is developed using ReactJs with Web3.js integration. The combination of Ganache and MetaMask is used for local development and testing.

Features

  • Security: Ensures secure and transparent voting.
  • Prevention of Double Voting: Smart contract prevents double voting.
  • Integrity: Ensures the integrity of the entire voting process.

Project Structure

  • contracts: Contains Solidity smart contract files.
  • website: Houses the ReactJs frontend application.

Getting Started

Prerequisites

  1. Install Node.js and npm.
  2. Install Ganache.
  3. Install MetaMask.

Installation

  1. Clone the repository:
git clone https://github.com/phucthuan1st/THDTVoting
  1. Install dependencies:
   cd decentralized-voting-system/website
   npm install

Usage

  1. Start Ganache and create a new workspace.

  2. Configure MetaMask to connect to your local Ganache network.

  3. Compile and deploy the smart contract:

    truffle compile
    truffle migrate
  4. Run the ReactJs frontend:

    cd website
    npm start
  5. Access the application at http://localhost:3000 in your web browser.


Contributors

License

This project is licensed under the MIT License - see the LICENSE file for details.