Inspiration

I wanted to build upon the FundMe app that Patrick created for the freecodecamp tutorial. I wanted to enable anyone to create a funding campaign with a simple form and then be able to collect donations from anyone who thinks that it's worth to support the cause.

What it does

It enables users to create and fund any cause they wish. As a creator you are able to create the campaign, set the target amount you would like to obtain, set a deadline for the campaign and publish it into the smart contract. You are eligible for the accumulated funds only after the deadline has passed and the campaign managed to gather the amount you've declared.

As a project's backer - you are able to fund the project by locking the funds into the smart contract for the duration of the campaign. If the campaign fails to raise the funds it intended to raise, you can claim back the cumulative amount of your donations (you can donate the project more than once).

How we built it

I built it using hardhat as a smart contract development framework and React on the frontend. It's very basic, since it's my first project developed from the ground up on my own, so I was learning a lot as I went on.

Challenges we ran into

A lot of new stuff to learn. Also lack of hands-on experience with solidity made me struggle with the basic problems, such as "how to return an array of structs so I can get all of the campaigns with one call" ;) Apart from that - developing a frontend with React was a totally new experience and while doing this I had to redesign the contract itself, as I came to realise that it was not able to do things I wanted it to do.

Accomplishments that we're proud of

I'm aware that this is not a real-world-ready project, but I'm proud that I started something on my own and pull through as best as I could with my current knowledge and ability. That's what mattered most for me. And hey - it's my first ever hackathon submission! :)

What we learned

I learned my weak spots when it comes to solidity and frontend, which gave me much clearer indication of what I need to work on next!

What's next for CryptStarter

A lot! Firstly - I need to develop the frontend in order to be able to withdraw funds as the campaign's owner as well as the backer. Secondly - I'd like to make it an upgradable contract with the use of openzeppelin's upgrades. I was also thinking about using bento box as a way to make some interest on the funds stored inside of the smart contracts. But I think that overall - most of the focus in the upcoming time will be toward making the UI more user friendly and simply more pleasant.

Built With

Share this project:

Updates