- Tarik Fellahi
- Benjamin Zawoda
- Matys Lepretre
Cette DApp permet :
- Enregistrement sécurisé des électeurs par un administrateur.
- Proposition de projets par des électeurs inscrits.
- Possibilité d'ajout de feedback par les électeurs inscrit pour modifier la proposition par le propriétaire.
- Vote sécurisé et transparent avec possibilité de délégation.
- Décompte automatique des votes pour déterminer la proposition gagnante.
- Blockchain Ethereum : gestion sécurisée via Smart Contract.
- Solidity : langage utilisé pour développer le Smart Contract.
- Hardhat & ethers.js : pour le déploiement et les tests du contrat.
- React (TypeScript, CSS, TSX) : développement du Front-end utilisateur.
git clone "https://github.com/MatysLep/AVoter-SmartContract.git"
cd AVoter-SmartContract
npm installnpx hardhat compileUtiliser Hardhat pour lancer un réseau local :
npx hardhat nodeDéployer le contrat sur le réseau local (dans un autre cmd que celui de la commande précédente) :
npx hardhat ignition deploy ignition/modules/deploy.ts --network localhostExécuter les tests automatisés :
npx hardhat testLes vidéos de démonstration sont disponibles ici :
🔗 Lien WeTransfer vers les vidéos de démonstration
Le contrat Voting.sol gère les étapes suivantes :
| Étape du Workflow | Description rapide |
|---|---|
| RegisteringVoters | Inscription des électeurs par l'administrateur. |
| ProposalsRegistration | Soumission de propositions par les électeurs. |
| VotingSession | Phase active de vote avec délégation possible. |
| VotesTallied | Décompte des votes et publication des résultats. |
- Enregistrement sécurisé des électeurs
- Soumission de propositions valides et invalides
- Transition de workflow sécurisée (contrôlée par l'administrateur)
- Gestion du vote simple et du vote délégué
- Vérification des boucles de délégation
- Décompte précis des votes pour désigner la proposition gagnante