Skip to content

Shivam9060/Voting_DAPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Voting_DAPP

Overview

Voting_DAPP is a decentralized application (DApp) that allows users to participate in secure and transparent voting processes on the Ethereum blockchain. It leverages blockchain technology to ensure the integrity and immutability of voting data, making it resistant to fraud and manipulation. This project is built using React.js, Express.js, web3, Ganache, Solidity, Metamask, and Node.js.

Voting_DAPP Screenshot

Table of Contents

Prerequisites

Before you begin, ensure you have the following prerequisites installed on your system:

  • Node.js: Ensure you have Node.js installed to run the project.
  • Ganache: Install Ganache, a local blockchain for Ethereum development.
  • Metamask: Install the Metamask browser extension for interacting with Ethereum blockchain networks.

Getting Started

  1. Clone the repository to your local machine:

    git clone https://github.com/your-username/Voting_DAPP.git
  2. Navigate to the project directory:

    cd Voting_DAPP
  3. Install project dependencies:

    npm install
  4. Start Ganache:

    Run Ganache to simulate a local Ethereum blockchain.

  5. Compile and deploy the smart contract:

    • Navigate to the "contracts" directory.
    • Use Truffle to compile and deploy the Solidity smart contract.
  6. Start the Express.js server:

    npm run server
  7. Start the React.js front-end:

    npm run client
  8. Open your web browser and navigate to http://localhost:3000 to access the Voting_DAPP.

Project Structure

The project directory is structured as follows:

  • contracts/: Contains the Solidity smart contract for the voting system.
  • client/: Contains the React.js front-end code.
  • server.js: Defines the Express.js server for handling Ethereum interactions.
  • package.json: Defines project dependencies and scripts.
  • public/: Contains the HTML template and static assets.
  • README.md: The README file you are currently reading.

Features

  • Create and manage elections on the Ethereum blockchain.
  • Cast votes securely using Metamask.
  • View election results in real-time.
  • Transparent and immutable voting data on the blockchain.
  • Secure authentication with Metamask.

Usage

  1. Launch the application by following the "Getting Started" instructions.

  2. Connect Metamask to your local Ganache blockchain or other Ethereum networks.

  3. Create or participate in elections and cast your votes.

  4. Monitor election results in real-time.

Contributing

Contributions to this project are welcome! If you'd like to contribute, please follow these guidelines:

  1. Fork the repository.

  2. Create a new branch for your feature or bug fix.

  3. Make your changes and commit them with clear, descriptive messages.

  4. Push your changes to your forked repository.

  5. Create a pull request to the main repository.


Feel free to customize this README to provide more specific information about your Voting_DAPP project and its features. Good luck with your decentralized voting application!