Most problems in software development are problems of differing initiative. At the end of the day, developers are only incentivized to build and launch new features, meeting deadlines. Solving bugs and support tickets, helping fellow teammates, counts for nothing on paper. But maintenance and quality are an equally important part of software development - without it, over time, this culture amasses a huge tech debt.
What it does
ETHcentive allows product managers to incentivize developers to work on overlooked details in the codebase such as features, bugs, and support tickets. A product manager can create an issue in ETHcentive with some ETH prize. A developer can browse open issues and scope work. When the developer starts work on the issue in ETHcentive, a new branch is created in GitHub. When the issues is completed, the developer can claim the ETH and see total earnings.
How we built it
We wrote smart contracts in solidity, developed locally on the ganache-cli testnet and used the truffle framework to bootstrap the project. We used the Metamask light client to interact with the DApp. We built the frontend using the react.js framework and the Twitter Bootstrap. We also used Remix to debug the smart contracts.
Challenges we ran into
We decided to integrate Chainlink, a decentralized oracle to get public data from the Github API. But we ran into issues in the process. We were not able to build a working integration but definitely have a vision for the same.
Accomplishments that we're proud of
Improved dev skillset. For the smart contract, the documentation/styling was in line with production code.
What we learned
Learnt more about the web stack and the cool ETH projects that have live API’s (Chainlink etc) that I could work with in the future
What's next for ETHcentive
We could connect ETHcentive to and project management software that developers and product managers use to build software such as JIRA. We could connect to Chainlink to do payouts through additional payment methods.
Log in or sign up for Devpost to join the conversation.