This Project is a Fork off of https://github.com/yashgo0018/maci-wrapper (even though it is not shown in the top of the repository)
Welcome to the PriMaci Frontend Voting Template!
- Voter Registration: Secure registration process through the MACI contract, enabling eligible voting.
- Poll Management: Admins can easily create and manage polls, including question and options setup.
- Secure Voting: Leverage MACI's privacy-preserving technology to ensure votes are cast anonymously and securely.
- Results Display: Transparent display of poll results after the voting phase concludes.
- Admin Dashboard: Comprehensive admin interface for poll oversight, including current status and results analytics.
Ensure you have the following tools installed before you proceed:
- Node (>= v18.17)
- Yarn (v1 or v2+)
- Git
Jumpstart your development with these simple steps:
- Clone and Set Up the Project
git clone https://github.com/CodeByNikolas/ETHBFrontEnd
cd ETHBFrontEnd
yarn install
- Add the Previous Deployment Contracts from the Backend
You should either already have to contract addresses, that you want to use on Sepolia, or you can deploy your own using: https://github.com/CodeByNikolas/EthBBackend
Copy the Contract adresses from your Backend deployment into the
/pachages/nextjs/contracts/deployedContracts.ts
also make sure to copy the deployment folder over to
/pachages/hardhat/deployments
- Launch the NextJS Application
In a terminal, start the NextJS frontend:
cd packages/nextjs
yarn install
yarn start
After setting up the project, you can:
- Register: Use the app's interface to register with the MACI contract and gain voting rights.
- Create Polls: As an admin, you can create polls with custom questions and options.
- Vote: Registered voters can participate in polls, utilizing MACI's secure voting mechanism.
- View Results: Access poll outcomes after the voting phase ends.
- Admin Dashboard: Monitor and manage ongoing polls, including viewing detailed poll status.
Your contributions are welcome! Feel free to report issues, submit fixes, or suggest new features to enhance the project.
This project is licensed under the MIT License.