Skip to content

ErAdar8/committee-dapp

Repository files navigation

Committee DApp

A decentralized committee management dApp implementing real-world, DAO-style governance on Ethereum.

This project models a building committee or homeowner association as an on-chain system, where members collectively manage shared funds, approve expenses, and execute payments transparently, without relying on centralized trust.

Live Demo: https://committee-dapp.vercel.app

Overview

Traditional committee or HOA management typically relies on trust in a single manager or a small group.

Common issues include centralized control over shared funds, limited transparency around expenses, slow approval processes, and the absence of a verifiable audit trail. In practice, participants must trust that funds are handled fairly.

This project demonstrates how these issues can be addressed using on-chain governance.

Solution

The dApp replaces trust-based management with smart contract–driven governance.

Funds are held directly by a smart contract. Spending requests are proposed and voted on on-chain. Only approved committee members can participate in governance. Payments are executed automatically after majority approval, and every action is publicly verifiable on Ethereum.

System Architecture

Smart Contracts (Solidity, Hardhat)

The smart contracts are located under the ETH/ directory.

  • CommitteeFactory Deploys new committee contracts.

  • Committee Manages members, spending requests, approvals, and payments.

Key characteristics:

  • Majority-based approval mechanism
  • Explicit balance checks before execution
  • Deterministic and auditable logic

Frontend (Vite, React, TypeScript)

The frontend is located under the frontend/ directory.

It provides a wallet-based user interface that interacts directly with the deployed smart contracts. Users can create committees, submit spending requests, vote on proposals, and finalize approved payments. On-chain state is read in real time using Ethers.js.

The application is deployed using Vercel.

Governance Logic

Only the committee manager can create spending requests. Only approved members can vote. A spending request can be finalized only if more than 50% of members approve and the contract holds sufficient ETH.

ETH transfers are executed atomically during finalization, ensuring transparency and preventing partial execution or manipulation.

Testing and Deployment

Unit tests are written using Hardhat. Local development and testing are performed on the Hardhat Network. The architecture supports deployment to Ethereum test networks such as Sepolia.

Technology Stack

Smart Contracts:

  • Solidity
  • Hardhat

Frontend:

  • React
  • TypeScript
  • Vite
  • Ethers.js
  • Tailwind CSS

Infrastructure:

  • MetaMask
  • Ethereum
  • Vercel

Getting Started

Frontend:

cd frontend
npm install
npm run dev

Smart Contracts:

cd ETH
npm install
npx hardhat compile
npx hardhat test

Notes

This project is designed to model real-world governance rather than a simplified demo. It demonstrates how organizational decision-making and fund management can be implemented in a transparent and trust-minimized manner using smart contracts.

About

Decentralized committee management dApp built with Solidity, Hardhat & Next.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors