A decentralized voting application that integrates with the Ethereum blockchain, MetaMask for user authentication, and Discord for real-time notifications and interactions. The project uses NestJS for the backend and ReactJS for the frontend.
Welcome to the Decentralized Voting Application (DApp). This project empowers users to participate in decentralized voting on the Ethereum blockchain, utilizing MetaMask for secure user authentication and Discord for real-time notifications and interactions.
- Decentralized Voting: Users can securely cast their votes on the Ethereum blockchain.
- MetaMask Integration: Seamless user authentication using MetaMask.
- Real-time Discord Notifications: Stay informed with real-time notifications and interactions on Discord.
- NestJS Backend: A robust backend built with NestJS for handling business logic and Ethereum interactions.
- Hardhat Deployment: Smart contracts are deployed using Hardhat for Ethereum blockchain interactions.
- ReactJS Frontend: A user-friendly frontend built with ReactJS for an interactive voting experience.
Follow these steps to set up and run the project on your local machine.
Make sure you have the following installed:
Clone the repository and install dependencies:
git clone https://github.com/iamnas/Decentralized-Voting-application.git
cd Decentralized-Voting-application
Navigate to the backend
directory and install dependencies:
cd backend
npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Navigate to the contract
directory and install dependencies:
cd contract
npm install
npx hardhat help
npx hardhat test
REPORT_GAS=true npx hardhat test
npx hardhat node
npx hardhat run --network <network-name > scripts/deploy.ts
npx hardhat run --network sepolia scripts/deploy.ts
# unit tests
$ npx hardhat test
Navigate to the frontend
directory and install dependencies:
cd frontend
npm install
- Backend: https://backend-one-mu.vercel.app/
- Frontend: https://decentralized-voting-application.vercel.app/
- Voting Contract: https://sepolia.etherscan.io/address/0x5ad898c0c572facddb531adf2cac4b15ccd10635
We express our gratitude to the open-source community, contributors, and organizations that have inspired and supported the development of this Decentralized Voting Application.
For real-time notifications, discussions, and community engagement, join our Discord server: https://discord.gg/nNmuBqdu
This project is licensed under the MIT License.