Updates Notes

Due to the Merge of the Ethereum Network(Network Consensus Algorithm Change from PoW to PoS), RinkedBy Test Network is no longer supported (See it here)This project is deployed on Goerli Testnet(a replacement of Rinkedby), now you have to earn free GoerliETH in the following (Link)

About

This is A Simple Decentralized Crowd Funding App Built On Ethereum Smart Contract for Transparency and Security. It was inspired by The Kickstarter Website and was an updated version of the final course project on Udemy (Link to this Course)

Caveat

Due to the limitation of the Blockchain Technology itself, Any interactions on this website would take at least 15s to finish(Interaction that modifies the blockchain specifically) Learn more about this limitation

How it works

This is a crowd funding app, so you can create your own campaign to raise money from the community for your projects. Anyone who creates a campaign will be the owner of that campaign. A Campaign should be initialized with a minimum amount of money that one can contribute.

This app only allows campaign's owner to make spending request(A request to transfer money for something). Only owner can make multiple spending requests and finalize it.

Campaign's Owner can finalize a request only when the number of approvers is greater than a half of the number of contributors contributed to the campaign. Contributors need to vote in order for the finalization of the request to be proceeded.

Anyone can contribute to any campaign they want and become a contributor after the success of that contribution(meet the minimum contribution requirement of that campaign). After becoming a contributor, one can vote for any requests they want in that campaign.

How to use

In order to use it, you must use the Metamask Chrome Extension to connect this app with a wallet for spending and receiving money. It was deployed on Rinkedby testnet for testing purposes, no real money. You can earn free ETH token on Rinkedby testnet in the following link

Technical Details

The project's smart contract was created with the latest Solidity Version(0.8.7), developed and tested on Remix, deployed to Infura Node on the Ethererum Blockchain.

The UI part was built by using NextJS(A ReactJS Framework) Latest Version(12.3) for a better SEO performance and deployed on Vercel for Caching and Edge Computing. It is a hybrid application with both server-side rendering and client-side rendering. Optimization works have been automatically done by NextJS(including Prefetching, Lazy-loading, ...), offering the best user experience.


Testing with lighthouse