Decentralized Crowd Funding Smart Contract

Come and fund for a particular cause and have voting right in the usage of these funds.


The problem Decentralized Crowd Funding Smart Contract solves

All NGOs use websites on web2.0 to take funds from the common masses and use them for charity purposes. But many times all this money has not been used the way it should have been used. One of the causes for this is the website being hacked by the party not the authority and the hacker can use all the funding as per his / her greed. To solve this problem I have used the feature of only allowing the manager of the project to deploy this smart contract. The second problem is that not everyone can fund to these kinds of projects as they require KYC information to be submitted and this smart contract solves this project as web3.0 is open to anyone with an internet connection and with a minimum amount of ether that is set by the manager at the time of deployment. Third and the most important problem that needs to be solved is that the funds are being used in the way the majority of the fund givers want them to be used this problem is solved by my smart contract as before using all the funds the manager needs to validate the purpose of use by more than 50% of the fund givers.
All these problems are solved through a smart contract on the blockchain so that assure that there is transparency of the funds -like the amount of funds collected, the number of fund givers, and the result of the votes and also makes it transparent that the manager sends all the funds to the address validated by more than 50 % of fund givers.

Challenges I ran into

The biggest problem I faced while making this project was using the updated version of solidity as I have learnt solidity from a source which taught me in an older compiler version. So many times the Remix ide was showing me an error mainly syntax and every time I had to refer to the solidity documentation for the latest version syntax.
I use windows so I literally paused my project for 1 week as my node.js on windows was giving me an error of module not found on running the command npx hardhat and my hardhat did not run for that time later I shifted to remix ide only where debugging was difficulty. Later I installed wsl and started running node.js on wsl Linux system .

Technologies used