HydroBlockchain / hcdp

Hydro Community Development Program
0 stars 0 forks source link

2,000,000 HYDRO to create a Laravel Raindrop Plugin #272

Closed mitdralla closed 5 years ago

mitdralla commented 5 years ago

Project Details Build a Plugin for Laravel for Client Raindrop. Similar to the Wordpress 2.0 plugin. The plugin should work out of the box, have frontend interface for handling authentication, individual user setting, settings for customizing how authentication should work and a way to re-authenticate. More info of the architecture can be found here: Hydro WP Raindrop MFA Plugin v2.0 Architecture / Features Guidelines

What is the development you want done? Client Raindrop is a multi-factor authentication (MFA) protocol developed by Hydrogen. As part of the protocol, the Hydro mobile app generates HydroIDs for users to connect them to the forthcoming ecosystem of Hydro smart contracts. This bounty is intended to foster broader adoption of Client Raindrop and the Hydro mobile app by offering website administrators tools to easily integrate Hydro MFA into their sites. Specifically, this task is to create a CakePHP plug-in in the plugin repository that integrates with the Hydro API to offer a seamless implementation of the MFA workflow. The goal is to allow sites built on the CakePHP platform to seamlessly integrate an out-of-the-box Hydro 2FA workflow that can be easily customized to their sites.

What are the deliverables? A Laravel plug-in implementing the Client Raindrop process. For detailed information on this process, see the Hydro API documentation. Our implementation guide may be helpful as background information. Calls to the Hydro API should be made through the official Hydro Javascript SDK.

Our intent is for this module to be oriented toward login-style, session-based authentication. For example we expect that HydroIDs will be garnered from session data. This is up for debate however, and we are more than happy to discuss the options. Regardless, a thorough justification for the ultimate implementation will be expected.

This module should have sufficient flexibility to be added as an authorization layer after one or more successful authorizations.

Developers may complete this module per their preference, but a suggested approach is to reference the Hydro Wordpress plug-in. A working and well-documented example with best-practice code should be provided. The completed result should enable Laravel websites and custom implementations of Laravel websites to easily integrate Hydro 2FA into their sites.

The list of deliverables can be found over at Hydro WP Raindrop MFA Plugin v2.0 Architecture / Features Guidelines.

The deliverables also include researching other popular plugins which provide similar capabilities for their users and coming up with a strategy to outdo them. You will be required to present and brainstorm on each deliverables on the discord channel with the Hydro core team and DA so as to create a plugin that can truly surpass others by a long way.

Timeframe? We propose 6 weeks as the timeframe for completion of this task.

Submission process? Please comment on this issue declaring your willingness to complete the task and fill out this questionnaire. If we approve your claim for the task, someone from the team will reach out to you and indicate as such on this issue. We will evaluate candidates factoring in these qualifications, Github activity, and the order in which they expressed interest.

Oversight Process (@mitdralla) will oversee the completion of this task.

Reward Structure Once you have been selected, you will have 6-8 weeks to complete the task. The time frame begins as soon as we award the task to the candidate by communication within this thread.

During this time we will be able to provide some support around questions about the workflow on Discord.

During this time the candidate needs to update the codebase regularly in a sub-repo of our official Github: https://github.com/HydroBlockchain.  This will be setup and conveyed to the candidate by the assigned DA.

If the task is not completed within the timeframe we reserve the right to offer an extension, or transfer the task to another candidate. If no extension is granted, then we reserve the right to continue on the codebase committed. The fractional disbursement for it, if any, would be given at our discretion.

Once the task is completed we will test the plug-in for efficiency and whether or not it correctly incorporates the Hydro workflow. If we approve the plug-in, we will then send you 2,000,000 Hydro.

adrenth commented 5 years ago

Interested.

HarshRajat commented 5 years ago

Task is assigned to @adrenth

adrenth commented 5 years ago

Version 1.0.0 of the package is released and available for use in Laravel applications.

It’s available in the packagist.org repository as well.

Check out the official repository here: https://github.com/HydroBlockchain/laravel-hydro-raindrop

For a fully working example Laravel application with the Hydro Raindrop package integrated checkout this repository: https://github.com/HydroBlockchain/laravel-hydro-raindrop-demo

HarshRajat commented 5 years ago

Task is completed. @adrenth please confirm the address to which the bounty would be sent to: 0x8b69ad27a6B56ba02b287102b3C179b8c881a81a

adrenth commented 5 years ago

@HarshRajat Confirm

HarshRajat commented 5 years ago

Task is completed, bounty has been sent. Tx hash: https://etherscan.io/tx/0xd9c069eff117707498cd0960bec6e103b4ccbb3434a6bf203bda6bc429f2b6c1