🔗Important Links 🔗
Github (backend): https://github.com/hoohacks21/backend
Github (frontend): https://github.com/hoohacks21/client
Deployed instance: https://ecocoin.space/ping (you'll need a JWT to send authenticated requests)
✨ Inspiration ✨
We were inspired by the sustainability issues that have become prevalent in our world. Specifically, we identified the pain that volunteer-based organizations are facing during COVID. Our aim was to develop a paradigm shift in empowering individuals and organizations to stake a reward and find volunteers for their tasks and jobs. As well, our platform would provide an outlet for people who want to volunteer in finding organizations that they can support by volunteering or donating their EcoCoins.
We had a strong focus on 3 of the UN's Sustainable Development Goals (Sustainable Cities and Communities, Climate Action, and Partnerships and Action) during our ideation period.
⚒ What it does ⚒
Ecochain's goal is to empower sustainable organizations to find volunteers and provide people with an incentive for helping people in their community.
We wanted to encourage more volunteering throughout one's community because research shows that the main barrier to people being able to volunteer is inflexible hours.
Ecochain facilitates community members helping organizations and neighbors helping neighbors through our gamified volunteering platform. The key features include:
1) Registering as a User or verifying as a sustainable organization
2) As a User one can volunteer to complete tasks posted by organizations or other users - such as helping out at your university's community garden
3) Earn rewards using our iOS app's cryptocurrency (EcoCoins) and then use those coins to post tasks or donate to an organization/charity.
👷♂️ How we built it 👷♀️
Our app was built using Swift & SwiftUI on the frontend to create a functional iOS app with designs that we all helped out to create during our ideation phase. The Restful API used by our backend was built using Golang and Google Cloud SQL (postgresql) for our database. We also used Firebase for our authentication.
In order to build a decentralized network where we can have our own cryptocurrency, we created our own blockchain in our Golang backend and called our coin "EcoCoin" which is sustainable because it is built upon a standard blockchain implementation. This system is built as proof of work, but can be changed to implement the more sustainable proof of stake that have a dramatically lower energy consumption rate than proof of work driven alternatives.
💪 Challenges we ran into 💪
This was the first time that Maria and Akin had ever worked with Golang so there was a lot that they had to learn and ask Allen (the Go expert) about. We also only had one person working on the frontend (Ari) and it was using Swift + SwiftUI which wasn't something that the other 3 knew and wasn't accessible to everyone who didn't have a Mac.
🥇 Accomplishments that we're proud of 🥇
We're really happy with how our ideas came to life in both our frontend and the business logic in our backend. And it was really fun working together for the first time. We had fun listening to 2000s playlists while learning about Go and blockchain :)
🚸 What we learned 🚸
We learned so much this weekend about the different technologies we used and especially about how to use Google Cloud because it was new for most of us. As well, we learned about implementing a single-node blockchain as a part of a bigger app.
😲 What's next for ecochain 😲
We want to improve our blockchain implementation and we would also like to create a web app + an Android app which will be easy using our REST API. As well, since our system has been deployed the Google Cloud Run, anyone can access our platform to expand on it.