It is winter again, and during this time, the temples in my area start many campaigns to help the poor. They collect old clothes and distribute them, provide health drinks to kids and organize "bhandara" which is basically a large scale lunch/dinner open to anyone. And every year, we discuss how the actual aim should be to avoid the need of such campaigns. These people should be getting long term help to help them become self sufficient. And in my opinion, educating their kids is the only way.

I was exploring about block chain and smart contracts, a domain which is new to me, and i came across this "DAPP" called "crypto-kitties", which allows users to breed and adopt digital cats. It's a strange connection but i thought maybe i can make a similar decentralized application only in my dapp, i let people volunteer for a kid's education! And so i built Chain of Good for this hackathon.

What it does

Chain of Good is a platform which allows users to nominate poor children to get help in the form of volunteering teachers. To nominate a kid, the user simply needs to fill out a form with relevant details, than an OTP is sent to the provided contact number, for verification of identity. Upon successful verification, the details of that kid are added to the API as a JSON object(their contact number is not visible due to obvious security reasons, but only accessible to the server).

Anyone who wishes to volunteer for a child can browse through the available kids and check out relevant domains. Once they decide to volunteer, they have to sign a smart contract and submit a small gas fee via Metamask. Than their block chain address is added with the kid's details and an SMS is sent to the child's contact informing them about the new teacher!!

How we built it

I designed the UI using bootstrap, made the server side application using flask(a REST API), created the smart contract and migrated it to the blockchain using truffle, and dealt with client side code and blockchain using we3.js and JavaScript.

Challenges we ran into

I was new to solidity, so understanding the syntax and writing tests was difficult for me. Also, web3 was tricky to integrate with flask. I initially used by it didn't work as expected, so i had to create the project again with web3.js!!

Accomplishments that we're proud of

Writing my first smart contract, and learning to use twilio API. I am surprised i actually did this project in a day! It's not that complex, but i am new to the domain and hoping to be a pro in the future.

What we learned

Created my first DAPP and learnt a lot about blockchain

What's next for Chain of Good

Make some tweaks to the smart contract, add more functionality, make the authentication with twilio more efficient and finally deploy the website to be used by local volunteers!

Share this project: