vigneshs-dev / Q-Vote

A quantum voting system utilizing quantum superposition and entanglement for secure and private voting
https://q-vote.onrender.com
MIT License
3 stars 11 forks source link
hacktoberfest hacktoberfest-accepted

Q-Vote 🗳️

A quantum voting system utilizing quantum superposition and entanglement for secure and private voting

Quantum Voting meets Blockchain!

🚀 Project Overview

Q-Vote simulates a secure voting process using quantum computing, with future plans for blockchain integration and a user-friendly web interface. This project uses Qiskit to simulate quantum voting and lays the groundwork for secure, private voting systems of the future.

🏗️ Architecture

graph TD
    A[Client Browser] -->|Request| B[Flask Web Server]
    B -->|Render| C[index.html]
    B -->|Vote| D[Voting Simulation]
    D --> E[Classical Voting]
    D --> F[Quantum Voting]

    E --> G[Collect Votes]
    G --> H[Identify Winner]

    F --> I[Quantum Circuit]
    I --> J[Amplitude Encoding]
    J --> K[Apply Gates]
    K --> L[Measurement]
    L --> M[Interpret Results]

    H --> N[Check Ties]
    M --> N
    N --> O[Final Winner]

    O --> P[Generate Plot]
    P --> Q[Base64 Image]
    D --> R[JSON Response]
    Q --> R
    R -->|Response| A

    subgraph Classical Logic
    E
    G
    H
    end

    subgraph Quantum Logic
    F
    I
    J
    K
    L
    M
    end

    subgraph Result Processing
    N
    O
    P
    Q
    end

✨ Features

⚙️ Tech Stack

##

📋 Requirements

To run Q-Vote, ensure you have the following installed: - 🐍 Python 3.x - 💻 Qiskit (install via pip) ##

📦 Installation

###

Locally

1. Clone this repository: ```bash git clone https://github.com/vigneshs-dev/Q-Vote.git ``` 2. Navigate into the project directory: ```bash cd Q-Vote ``` 3. Create a virtual environment: - On Windows: ```bash python -m venv venv ``` - On macOS/Linux: ```bash python3 -m venv venv ``` 4. Activate the virtual environment: - On Windows: ```bash .\venv\Scripts\activate ``` - On macOS/Linux: ```bash source venv/bin/activate ``` 5. Install the required dependencies: ```bash pip install -r src/requirements.txt ``` 6. Run the quantum voting simulation: ```bash python .\src\app.py ``` The output will start Flask Server which will run on http://127.0.0.1:5000 ###

Docker

```bash git clone https://github.com/vigneshs-dev/Q-Vote.git ``` 2. Navigate into the project directory: ```bash cd Q-Vote ``` 3. Build the docker image: ```bash docker build -t qvote . ``` 4. Run the in a docker container: ```bash docker run -p 5000:5000 qvote ``` ##

🛠 Contributing

We welcome contributions! Here's how you can contribute: - [ ] 🔗 Implement blockchain integration for immutability. - [ ] 🌐 Develop a web interface for a better voting experience. - [ ] 🔄 Optimize quantum circuits for efficiency. - [ ] ✍️ Write unit tests for code reliability. ##

📄 License

This project is licensed under the MIT licensed. See the [LICENSE](./LICENSE) file for details. ##

❤️ Acknowledgments

- 💻 Qiskit – The quantum computing SDK used in this project. - 🙌 Contributors and community members – Thank you for your valuable feedback and suggestions. ##

If you find this project helpful, give it a star ⭐!