Algorand Blockchain -- UIB 2026

Votacio electronica
descentralitzada i auditable

Un sistema de votacio basat en Smart Contracts sobre Algorand. Sense servidor central, sense intermediaris. Cada vot es immutable, verificable i privat per disseny arquitectonic.

Repositori GitHub Documentacio
6
Epiques
28
Issues
5
Sprints
14
Setmanes

Mockup complet: 7 pantalles

Disseny completat en mode fosc amb suport multiidioma (EN / ES / CA) i adaptacio per a escriptori i dispositius mobils.

/landing
Landing
Presentacio del projecte. Connexio de wallet i navegacio principal.
/dashboard
Dashboard
Resum d'eleccions actives, propostes obertes i resultats recents.
/elections
Elections
Llistat d'eleccions actives i passades amb estat i dates.
/proposals
Proposals
Propostes de la comunitat amb formulari per crear-ne de noves.
/voting
Voting
Papereta amb drag and drop per ordenar candidats. Metode Schulze.
/results
Results
Resultats oficials amb matriu Schulze i linia de temps electoral.
/verify-vote
Verify Vote
Verificacio criptografica del vot via hash de transaccio Algorand.
Com funciona

El proces electoral en 4 passos

Tot el flux es gestiona directament als Smart Contracts d'Algorand. Cap servidor extern pot modificar o censurar cap vot.

1

Proposa

Qualsevol membre del cens pot registrar una proposta d'eleccio signada criptograficament via transaccio Algorand.

2

Vota (Schulze)

Els votants ordenen les opcions per preferencia mitjancant drag and drop. El Smart Contract gestiona la logica Condorcet.

3

Registra on-chain

Cada vot es una transaccio Algorand signada amb Pera Wallet. Immutable, transparent i auditable per qualsevol.

4

Ancora a Ethereum

El resultat final s'ancora a Ethereum Sepolia via consens K-de-N entre nodes institucionals independents.

Model C4 -- 4 contenidors

Arquitectura descentralitzada sense punt unic de fallada. Tota la logica electoral resideix al Smart Contract immutable desplegat a Algorand.

Aplicacio web (Thin Client)

Single Page Application en React que genera i signa transaccions. Cap logica de negoci al client: tota la validacio es al Smart Contract.

React 19Tailwind CSSBunalgosdkWalletConnect

Smart Contract de Votacio

Logica immutable a Algorand. Router principal, Verificador de cens i doble vot, logica de votacio Schulze, modul de propostes i generador d'eleccions.

algopyTEALARC-4AlgoKitBox Storage

Servei d'Anchoring

Script Python per node institucional. Calcula el hash SHA-256 de l'escrutini i l'envia al contracte Notary d'Ethereum via consens K-de-N.

PythonWeb3.pySoliditySepolia TestnetECDSA

Node Algorand i Pera Wallet

Nodes complets operats per entitats institucionals. Pera Wallet gestiona la custodia exclusiva de les claus privades dels votants via WalletConnect.

Algorand PPoS/VRFPera WalletDockerAlgorKit localnet
L'equip

4 membres

Equip de la UIB -- 21782 Laboratori de Projectes de Software -- Maig 2026.

TC
Toni Contesti
Cap de Projecte
Gestio agil -- GitHub -- Arquitectura
@tcontesti
JV
Jordi Vanyo
Frontend / UX
React -- Tailwind CSS -- Bun -- algosdk -- WalletConnect
@jvanyom
ML
Marc Link
Smart Contracts / QA
algopy -- AlgoKit -- Tests -- Auditoria SC
@linkcla
DL
Dylan Luigi C.
Arquitectura / Anchoring
Solidity -- Web3.py -- AlgoKit -- Docker
@dylanluigi

Planificacio -- 14 setmanes

Metodologia agil amb Trunk Based Development. Del 23 de febrer al 25 de maig de 2026.

Sprint 1
Entorn i wallet
23 feb - 8 mar 2026
Configuracio AlgorKit i Docker, arquitectura C4, connexio Pera Wallet, verificacio cens
100%
Sprint 2
Smart Contract de votacio
9 mar - 22 mar 2026
Router algopy, modul Verificador, logica Schulze, prevencio doble vot, mockup UI complet
100%
Sprint 3
Propostes, recompte i frontend
23 mar - 12 abr 2026
Modul propostes i generador d'eleccions implementats al SC. Frontend i CI pendents — moguts a Sprint 4
20%
Sprint 4
Verificabilitat, anchoring i frontend
13 abr - 3 mai 2026
Implementacio React, GitHub Actions CI, Schulze, hash SHA-256 per node, Ethereum Notary Contract K-de-N
0%
Sprint 5
Integracio, QA i documentacio
4 mai - 24 mai 2026
Tests E2E, cobertura minima 80%, memoria tecnica final, presentacio defensa
0%
ComponentEstatResponsable
Arquitectura C4CompletatDylan + Toni
Abast i requisits (2 entregues)CompletatEquip
Mockup UI (7 pantalles)CompletatJordi
Backend Smart Contracts (algopy)En curs — contracte principal implementatMarc
Frontend React + TailwindPendentJordi
GitHub Actions CIPendentDylan
Servei d'anchoring PythonPendentDylan
Ethereum Notary ContractPendentMarc + Dylan
Tests E2E (cobertura >= 80%)PendentMarc

Explora el projecte

Codi font, backlog, milestones, arquitectura C4 i documentacio tecnica completa disponibles al repositori.