Hybrid Voting - Web3 Core

Sistem pemungutan suara terdesentralisasi dengan estetika Web3 futuristik, ditenagai oleh Solidity dan Express.

SolidityHardhatEthers.jsJavaScriptExpressGlassmorphism

Bagikan proyek ini:

Tentang Proyek

๐Ÿ—ณ๏ธ Hybrid Voting - Web3 Core

Web3 Banner

Hybrid Voting adalah sistem pemungutan suara terdesentralisasi berperforma tinggi yang dirancang dengan estetika Web3 futuristik. Proyek ini menggabungkan transparansi blockchain Ethereum dengan antarmuka pengguna berbasis glassmorphism premium untuk memberikan pengalaman tata kelola yang aman dan menarik.


โœจ Fitur Utama

  • ๐Ÿ”— Integritas Blockchain: Semua suara ditandatangani secara kriptografis dan dicatat di jaringan yang kompatibel dengan Ethereum (Hardhat).
  • ๐ŸŽญ UI Berbasis Karakter: Setiap kandidat memiliki avatar cyberpunk unik untuk meningkatkan estetika yang terinspirasi dari game Web3.
  • ๐Ÿ’Ž Desain Glassmorphism: Elemen UI transparan dan blur dengan gradien neon yang cerah untuk nuansa mutakhir.
  • โšก Sinkronisasi Real-Time: Dasbor secara otomatis melakukan polling ke blockchain untuk memberikan jumlah suara langsung tanpa memuat ulang halaman.
  • ๐Ÿ›ก๏ธ Verifikasi Aman: Pendekatan hybrid di mana pemilih diverifikasi terhadap database CSV lokal sebelum berinteraksi dengan smart contract.
  • ๐Ÿ“ฑ Responsif & Interaktif: Animasi CSS modern dan notifikasi toast interaktif khusus untuk umpan balik instan.

๐Ÿ–ฅ๏ธ Antarmuka Desktop

image
  • Layout lebar penuh untuk visualisasi data yang masif.
  • Kartu kandidat interaktif dengan efek hover.
  • Notifikasi toast real-time untuk status sistem.
  • Elemen glassmorphism bertema neon.

๐Ÿš€ Instalasi & Persiapan

1. Clone & Instal

git clone <repository-url>
cd hybrid-voting
npm install

2. Hardhat Node (Blockchain)

cd blockchain
npm install
npx hardhat node

Di terminal terpisah, deploy contract:

npx hardhat run scripts/deploy.js --network localhost

3. Backend Server

cd server
npm install

Konfigurasikan file .env di root:

PORT=3001
RPC_URL=http://127.0.0.1:8545
PRIVATE_KEY=your_hardhat_private_key
CONTRACT_ADDRESS=deployed_contract_address

Jalankan server:

node index.js

4. Aplikasi Frontend

cd frontend
npx serve

Buka http://localhost:3000 di browser Anda.

๐Ÿ“ Struktur Proyek

hybrid-voting/
โ”œโ”€โ”€ blockchain/  # Smart contracts & konfigurasi Hardhat
โ”œโ”€โ”€ frontend/    # UI Vanilla JS & CSS
โ”œโ”€โ”€ server/      # API Node.js/Express
โ””โ”€โ”€ README.md    # Dokumentasi

๐Ÿงช Pengujian

  1. Blockchain: Pastikan node Hardhat berjalan dan contract telah dideploy.
  2. Backend: Verifikasi server terhubung ke RPC URL.
  3. Frontend: Gunakan browser dengan URL dari serve.
  4. Verifikasi Pemilih: Gunakan nama yang terdaftar di server/voters.csv.