thiagosaud / dApp-superior-electoral-court

This is a work of my own, where I use smart contract technology, blockchain and WEB3 to simulate TSE ballot boxes, and most importantly, with transparent votes and without it being possible to tamper with them in any way.

Home Page:https://dapp-superior-electoral-court-thiagosaud.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SOCIAL PREVIEW

๐Ÿš€ About the Project

This is a work of my own, where I use REACTJS, SMART CONTRACT TECHNOLOGY (SOLIDITY), BLOCKCHAIN, WEB3 ETHERS, HARDHAT and METAMASK to simulate TSE ballot boxes, and most importantly, with transparent votes and without it being possible to tamper with them in any way.

This project will be a monorepository, where it will contain the root hierarchy and two hierarchies, which are:

  • FRONTEND (Web3)
  • BACKEND (Smart Contracts with Solidity)

Each project will contain its own hierarchy and dependency control, so to learn more about each project, go to each project's main folder.

๐Ÿ”— To interact with the project you can access this link [CLICK HERE]

โ™พ๏ธ CI/CD

This project has the following controls:

FRONTEND WORKFLOW

JOB NAME DESCRIPTION
RUN PRETTIER Test the Style-Guide.
RUN STYLELINT Test styling with CSS-In-JS.
RUN LINT Test Syntax Analisys of the code.
RUN JEST Unit Test with JEST.

BACKEND WORKFLOW

JOB NAME DESCRIPTION
RUN PRETTIER Test the Style-Guide.
RUN LINT CONTRACTS Test Syntax Analisys of the .sol codes.
RUN LINT ALL FILES Test Syntax Analisys of the all files.
RUN MOCHA AND CHAI Unit Test with MOCHA and Chai.

DECRYPT SECRET KEYS

JOB NAME DESCRIPTION
RUN SECRET KEY DECRYPTION Decrypts the secret environments that are in the github repository. Encrypt them using OPENSSL with a login and password to which only I have access to obtain them and create the .ENV file.

WORKFLOW CONTROLLER

JOB NAME DESCRIPTION
FRONTEND RUN THE FRONTEND WORKFLOW.
BACKEND RUN THE BACKEND WORKFLOW. It is necessary to wait for the FRONTEND workflow to pass all the tests.
DEPLOY RUN THE VERCEL WORKFLOW. It is necessary to wait for the FRONTEND and BACKEND workflow to pass all the tests.

๐Ÿ”Œ How it works

HOW IT WORKS PREVIEW

This is a simple working flow, which was covered in this project.

Where the voter is required to connect his cryptocurrency wallet to the system (metamask), and he is identified through the unique hash that the wallet has.

Soon after, it is necessary for him to have an X amount of the token to be used by the system, in this case we are using ethereum.

The system validates the connection of your wallet and the necessary amount of ethereum, if everything is correct, the voting actions are released for it.

The voter chooses his candidate and the system (web + ethers) validates the form and processes the data, along with the hash of his wallet and the necessary amount of ethereum needed for this on the blockchain (where the contract is located).

In the blockchain, a block is generated in the blockchain, where the miner validates that block.

After the validation of that bit, which would actually be the processing of the contract that is part of a program (where you can find who voted, who voted for and when they voted).

After processing, the data is saved on the blockchain forever and can never be tampered with and the system (web + ethers) receives real-time voting information as if it were websockets.

โš ๏ธ Note: That it is not necessary to handle the data from the electronic voting machine to do the accounting and save the data, in addition, the blockchain works like an accounting ledger, it is not and cannot be tampered with, maintaining consistency and legitimacy in its information.

โš ๏ธ Note II: Remember that this is an approach to present the power of the blockchain and its legitimacy towards the data, but to make the "electronic voting machine" even more secure, the government must use unique hash of wallets interconnected with the document of each citizen and use facial recognition and (human) object detection to distinguish siblings, images of real people and to further reinforce, use fingerprint identification.

๐Ÿ“ License

See the LICENSE for more details.

๐Ÿ’— Sponsor

Made with โ™ฅ and with the intention of learning and passing on knowledge.

So that I can work full-time and open to the community, thus bringing more relevance and technological solutions. It would mean a lot to me and the whole community if you help me reach this goal.

MY SPONSORS


About

This is a work of my own, where I use smart contract technology, blockchain and WEB3 to simulate TSE ballot boxes, and most importantly, with transparent votes and without it being possible to tamper with them in any way.

https://dapp-superior-electoral-court-thiagosaud.vercel.app/

License:MIT License


Languages

Language:TypeScript 89.0%Language:Solidity 4.0%Language:JavaScript 3.3%Language:HTML 2.7%Language:Shell 0.9%