DEV Community

Cleo Buenaventura
Cleo Buenaventura

Posted on

Hacktoberfest 2024 - part 2

For this week's hacktoberfest contribution, I had the opportunity to make my first bug fix PR. Moving up from my previous PR, I chose another project written in python.

GitHub logo vigneshs-dev / Q-Vote

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

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

Issue #2

This will be the second issue that I work on for hacktoberfest. This issue simply requires a bug fix on the sign in page.
Before the fix, the sign in page of the web app does not display any error messages. This means that when a user inputs invalid credentials, they wouldn't know what happened as it does not provide any feedback.
The repo owner uses Flask, so I had to familiarize myself with Flask's templates to be able to display the appropriate messages.

PR #2

In this Pull Request, I only needed to work mostly with the html file where the sign in page is rendered. Since the logic behind the sign in page was already implemented, all I had to do was implement the code needed to display the error messages.

Overall

It was a great learning experience as this kind of issue aligns with my goals for taking the open source course, which is to improve my web development skills and knowledge.
It may be a simple task of writing an html code to render messages, but slowly expanding my knowledge with different languages and frameworks will surely help me in the long run.

Top comments (0)