Please be sure to check out our video demo:

https://www.youtube.com/watch?v=GQJ9AzWpw0w&feature=youtu.be

Inspiration

Having been through junior years in ECE/CS, a lot of us are having a difficult time finding interesting side projects to work on to sharpen our coding skills as well as making us stand out in job search. We realized that there is a lack of a one-stop platform to help us discover projects as well as staying motivated and connected to the open-source community.

We ask ourselves, what if we can create a platform to have students contribute to open-source projects on Github and get some rewards? Earning cryptocurrencies by making contributions to the open-source community (such as Ethereum) would be a cool idea.

What it does

SoliGity aims to provide easy-to-use experience in between the owner of the project owner. The process can be summarised in four steps.

First of all, to have their project being discovered by others, a project owner must link/add their Github repository to SoliGity. Then, these projects will appear on a catalog page. The catalog page contains rich information such as the project name, pictures, and languages/framework. This makes it user-friendly for the user to discover the project just like what they do in the App Store. When one discovers a project that interests them, they can click in the project and browse all the issues created by the project owner. Note that issues are not limited to bugs associated with the project, it also includes new feature requests.

Each issue comes with a price – the amount of cryptocurrency that the project owner will award to the developer. When a developer claims an issue, he/she works on it on its branch. Once done, a Pull Request (PR) is made for the project owner to review their contribution. If the PR is approved, the reward will be transferred from the project owner to the developer. The transaction is achieved using a smart contract implemented in Solidity. As the activities are in the context of Git workflow, hence our name SoliGity.

How I built it

We use blockchain written in Solidity - an object-oriented, high-level language for implementing smart contracts, to handle the transaction of Ethereum between two parties (Repository owners and Developers). In fact, the entire platform is backed on Blockchain, including the project catalog and issue inventory.

The frontend is written using React JS.

Challenges I ran into

Debugging Solidity smart contracts, testing it on the blockchain running locally.

Accomplishments that I'm proud of

Being able to bridge our needs in real-life with state-of-the-art technologies (Blockchain). Then, using the existing, popular framework and workflow (React JS and Git APIs) to deliver a novel, simple, elegant, powerful, and scalable solution to create impact across multiple parties (project owner, developers, and hopefully, employers).

What I learned

Blockchain Software Engineering Web development Presentation skills

What's next for SoliGity

In terms of future work, we will enrich the content of our project catalog to include multimedia such as pictures, videos, etc. so that it will look more like an App Store browsing experience to attract people to work on these projects.

Second, our solution only allows one developer to claim an issue - in the future, we wish one issue can be worked on by multiple contributors and the owner will decide who will receive the award (this is like a call-for-tender process, and will positively motivate developers to deliver their best share of work).

Third, we wish to establish a connection between the project owner and company recruiters - in addition to sending the incentive to contributors. Our project established a multi-win situation.

Built With

Share this project:

Updates