Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

useFlow - a react hooks library for DApp development on Flow #50

Closed
5 tasks
maggo opened this issue Jun 27, 2022 · 9 comments
Closed
5 tasks

useFlow - a react hooks library for DApp development on Flow #50

maggo opened this issue Jun 27, 2022 · 9 comments
Assignees
Labels

Comments

@maggo
Copy link

maggo commented Jun 27, 2022

useFlow - a react hooks library for DApp development on Flow

Grant category

Open source maintenance

Description

useFlow is a library of react hooks enabling developers to build DApps on Flow quickly and efficiently.
The libary provides hook abstractions for all FCL functionality, like wallet connection, executing scripts and transactions and signing messages, all while featuring built in caching, request deduplication and loading states powered by react-query.

useFlow is based on experience from developing Chainmonsters and other Flow DApps and inspired by wagmi, a collection of react hooks for Ethereum DApp development.

I started setting up the library and would like to use the developer grant to be able to focus on making it feature complete and bring it to a release state :) https://github.com/maggo/use-flow

Problem statement

  • React is the most popular frontend framework but there's no "react native" way to integrate Flow interactions
  • While building Chainmonsters and other Flow DApps, I caught myself writing the same code again and again (boilerplate to set up FCL and use it with react-query) and I'm sure that other frontend developers are doing the exact same

Proposed solution

  • Implement a library that provides a familiar interface (react hooks) for FCL interaction

Impact

  • Developers will be able to accomplish Flow blockchain interaction in their apps using a familiar concept, without having to write boilerplate code
  • Developers get automatic best UX and performance improvements (loading states, caching, request deduplication) thanks to react-query integration
  • Examples will allow for quick MVP development

Milestones and funding

Milestone Deliverables Timeline Risks USD proposal
1 - First stable release Feature parity with FCL: Hooks for all API functions as specified in the docs, including a rich test suite 6 weeks Timeframe TBD
2 - Documentation & Examples Docs website explaining the hooks and their parameters with usage examples 5 weeks - TBD
3 - Integrate useFlow in Chainmonsters website Update chainmonsters.com codebase to use useFlow for all chain interaction; "dogfooding" to make sure that the libary is production ready 3 weeks - TBD
4 - Adoption Get 5+ DApps to use useFlow, by providing consultation and support ??? - TBD
5 - Maintenance Keep library up-to-date with latest FCL updates, bugfixes and community support 6 months - TBD

Team

Name Role Bio Contact
Marco Main Contributor Freelance full-stack developer with over 10y experience, 2y focusing on Flow & ETH.
Web Developer @ Chainmonsters, focusing on website, marketplace and onchain interactions
[email protected]
maggo#1337

Milestone completion

  • First stable release
  • Documentation & Examples
  • Integrate useFlow in Chainmonsters website
  • Adoption
  • Maintenance
@alxflw
Copy link
Contributor

alxflw commented Jul 7, 2022

thanks for the submission @maggo! We took a look and wanted to see if you would be open to updating your milestones as such:

  • Add an adoption milestone at the end (eg get 5+ projects to use useFlow)

  • Reduce the scope to fit a new project seeking adoption. So: 1) reduce the testing scope, 2) remove the maintenance milestone, and 3) remove the sample app milestone (covered by docs and basic examples)

@maggo
Copy link
Author

maggo commented Jul 8, 2022

Hi @alxflw thank you for your feedback! I've updated the milestones as following:

  • Combined first release & test suite milestones
  • Combined documentation & basic examples milestones
  • Removed example dapp and maintenance milestones
  • Added adoption (5+ users) milestone
Milestone Deliverables Timeline Risks USD proposal
1 - First stable release Feature parity with FCL: Hooks for all API functions as specified in the docs, including a rich test suite 6 weeks Timeframe TBD
2 - Documentation & Examples Docs website explaining the hooks and their parameters with usage examples 5 weeks - TBD
3 - Integrate useFlow in Chainmonsters website Update chainmonsters.com codebase to use useFlow for all chain interaction; "dogfooding" to make sure that the libary is production ready 3 weeks - TBD
4 - Adoption Get 5+ DApps to use useFlow, by providing consultation and support ??? - TBD

Please let me know if you had other changes in mind that I might have missed :)

@alxflw
Copy link
Contributor

alxflw commented Jul 8, 2022

wonderful, thanks for updating! we'll review and get back soon

@alxflw
Copy link
Contributor

alxflw commented Jul 14, 2022

hey @maggo, we'd like to accept this proposal if you are willing to add one more milestone at the end for 6 months maintenance (to keep up with latest NPM version of FCL). Please confirm and we can discuss the TBD portion of your project via email.

@maggo
Copy link
Author

maggo commented Jul 14, 2022

@alxflw yessir :) I wanted to propose a maintenance timeframe anyway, 6 months sounds good!

Added this:

Milestone Deliverables Timeline Risks USD proposal
5 - Maintenance Keep library up-to-date with latest FCL updates, bugfixes and community support 6 months - TBD

Cheers

@alxflw
Copy link
Contributor

alxflw commented Jul 20, 2022

great, I sent you an email to discuss the USD proposal / TBD.

@alxflw
Copy link
Contributor

alxflw commented Jul 20, 2022

this application has been approved 🚀

@alxflw alxflw added accepted and removed in review labels Jul 20, 2022
@maggo
Copy link
Author

maggo commented Jul 21, 2022

Thank you @alxflw and team, excited to work on awesome Flow developer tooling 🚀

@Aliserag
Copy link
Collaborator

Given the time since this has been submitted I'm closing this down, please reach out to me if you'd like to share what you're working on now and explore potential opportunities [email protected].

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants