This is an election example, you can add any wallet address as candidates. then users can vote them.
Voting work based on NFT. When a user votes a candidate a NFT mints to the user from VoteNFT collection of that candidate.
We used minimal proxy clone to clone and deploy an VoteNFT for each candidate. There is a deployed VoteNFT implementation. a proxy of that will deployed for candidate on first vote for that condidate.
When you vote a candidate actually you are minting an NFT on that candidate VoteNFT collection.
How to install:
yarn
Read the tests
and run it with:
yarn test