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

FlowPulse: Analytics Dashboard for Exploring Activities in Flow #154

Open
justmert opened this issue Mar 1, 2023 · 11 comments
Open

FlowPulse: Analytics Dashboard for Exploring Activities in Flow #154

justmert opened this issue Mar 1, 2023 · 11 comments

Comments

@justmert
Copy link

justmert commented Mar 1, 2023

FlowPulse

Grant category

Developer tools / services

Description

Flow open source developer ecosystem is growing day by day. But there is currently no way to get an activity overview and easily track the development among different projects that is integrated with Flow or tools/components of Flow ecosystem on Github. Understanding the status of projects and tracking contributions made by developers can give an idea on how the Flow evolve. It is really hard to understand how the Flow ecosystem is progressing since the data is scattered all over GitHub, with contributors, commits, issues, repositories and PRs data.

The solution I present to Flow community is a platform that provides visualizations and insights for open source projects in the Flow ecosystem named FlowPulse. It offers a comprehensive view of activities of projects and insights into the ecosystem's trends. The project will allow users to gain insights into the development activity, code contributions, issue resolution, and community engagement of the Flow ecosystem through open source projects. This information will be displayed through various visualizations and charts, which will be accessible through a web-based application named FlowPulse.

Website: https://flowpulse.vercel.app
Open-Source Backend: https://github.com/justmert/eco-pulse-backend
Open-Source Frontend: https://github.com/justmert/eco-pulse-frontend

Problem statement

Target audience

The target audience for FlowPulse can include developers, researchers, and enthusiasts who are interested in monitoring the development and activity of open-source projects on the Flow ecosystem. The platform's analytical tools and visualizations can provide valuable insights into the performance of various projects, making it useful for those who want to gain a better understanding of the ecosystem's progress and the direction it's headed in.

By tracking the activity of commits history, and issue resolution FlowPulse can help developers identify areas where they can improve and streamline their own development processes. By offering detailed analytics, FlowPulse can become an essential tool for anyone who is interested in the development and progress of the Flow ecosystem.

Evidence for the need

  • Increased Interest in Flow Ecosystem: The growth of the Flow ecosystem and the increasing number of open-source projects being developed on the chain highlight the need for a tool that can monitor and analyze the performance of these open-source projects. FlowPulse can provide valuable insights for the projects within the ecosystem.

  • Lack of Comprehensive Analytics: There is a lack of reliable and user-friendly tools that can provide detailed analytics and visualizations for open-source projects on Flow. Besides, the demand for better analytical tools in the blockchain space is increasing, and developers and stakeholders are seeking tools that can help them monitor and analyze the performance of the projects. FlowPulse fills this gap for the Flow ecosystem.

  • Historical and Trend Data: FlowPulse can provide a historical and trend data of the Github activity in the Flow ecosystem, allowing developers and project managers to see first hand how the ecosystem is growing, evolving, and changing over time. This data can be used to identify patterns, trends, and areas of improvement, leading to more informed decision making and better outcomes for the projects within the ecosystem.

Proposed solution

Impact

Improve Project Visibility: By providing detailed analytics and visualizations for Flow projects, FlowPulse can help increase the visibility of these projects, making it easier for developers and users to find and contribute to them.

Enhance Developer Productivity: With the ability to quickly access important data and metrics, developers can more easily identify areas of the project that need attention. This can lead to faster issue resolution and more efficient development cycles.

Encourage Community Engagement: By providing a centralized location for viewing project activity and contributions, FlowPulse can encourage community engagement and collaboration. Users can easily identify areas where they can contribute to the project and engage with other developers and users.

See Ecosystem Evolution: FlowPulse can help show the evolution of Flow projects over time by providing historical data and visualizations of key metrics, enabling developers to better understand the project's development trajectory and identify areas where protocol gains trends.

Stands Out: Currently, there is no project that provides a comprehensive analytics dashboard for open-source projects in the Flow ecosystem. FlowPulse fills this gap and provides value by enabling developers and stakeholders to easily gain insights into the activity and performance of Flow projects.

Project Images

flowpulse-website-images

Technical Scheme

flowpulse-scheme-svg

Milestones and funding

Milestone Deliverables Timeline Risks USD proposal
1 - Building
  • Add an MIT License to the project's backend and frontend Github repositories.
  • Set up a Firebase Firestore database.
  • Develop a Python backend to fetch data from Github Rest and GraphQL APIs.
  • Build the Dashboard, Project List and Project Detail pages with corresponding backend functions.
  • Integrate Algolia to enhance the search functionality of the platform.
  • Incorporate Typeform to allow ecosystem users to suggest new projects for FlowPulse.
  • Integrate Google Analytics to track user engagement and adapt and improve the platform accordingly.
5 weeks - 7500
2 - Deploying
  • Add initial project list of the Flow ecosystem to the Firestore database.
  • Deploy backend to Heroku.
  • Schedule the backend to update project data in Firestore on a regular basis.
  • Change domain name of FlowPulse to flowpulse.xyz.
3 weeks - 1500
3 - Expanding
  • User Profiles: Create user github integration that allow users to showcase their Github contributions and connect with other developers in the Flow ecosystem. User profiles could show users' Github statistics, such as their total commits, pull requests, and issues, as well as their recent activity based on Flow projects.
    The feature could provide a way for developers to showcase their contributions to the Flow ecosystem and build their personal brand. Users could use their profiles to connect with other developers, discover new projects to work on, and showcase their skills.

  • Leaderboards: Improve upon top contributors section to provide leaderboard system that allow users to compete with other developers in the Flow ecosystem based on Github activity. This provide an incentive for developers to contribute more to the Flow ecosystem and showcase their skills. The leaderboard system could track metrics such as the number of commits, pull requests, issues resolved, and lines of code written etc.

  • Bounty Issues: Allows developers and projects in the Flow ecosystem to offer bounties for specific Github issues. Developers could view a list of available bounty issues, which would include information on the bounty amount, the issue details, and the requirements for resolving the issue. Developers could then claim a bounty issue and work on resolving it. Once the issue has been resolved and verified by the project owner, the developer would receive the bounty amount.
    The feature could help to incentivize developers to work on high-priority issues in the Flow ecosystem and provide a way for developers to earn money for their contributions. Projects could use this feature to attract new contributors and accelerate the development of their projects. Additionally, this feature could help to connect developers with projects that align with their interests and expertise, leading to more effective collaboration and faster issue resolution.
8 weeks - 6250
4 - Maintenance As the Flow ecosystem grows and evolves, it's important to ensure that FlowPulse remains a reliable and high-quality source of Github analytics and insights. I will focus on implementing best practices for code quality, testing, and documentation, to ensure that the platform remains stable and easy to maintain over one year. This will involve regular bug fixes and updates to accommodate changes in the Github API and other external factors that may affect the functionality of FlowPulse. 1 year - 2250

Total funding proposed: $17.500

Team

Name Role Bio Contact
Mert Köklü Full-Stack Engineer Founding vice-chair of ACM Student Chapter and acted as an ambassador of many organizations including Microsoft and Certified Instructor of NVIDIA. In Web3, AAVE Turkey Community Co-Manager and The Graph Advocate. Was working with AI video pipelines at an NVIDIA distributor company in Turkey before getting involved with blockchain.

I'm AAVE and Filecoin grantee with an already accepted 3 projects. Now, I am developing open-source, user-friendly applications that add value to the ecosystem in the Flow ecosystem.
kklumert@gmail.com

Additional Information

Vercel deployed frontend (flowpulse.vercel.app) has initially 17 repositories because of the demo purposes. After milestone 2, the project will have more repositories initially curated by me (or request from the onFlow Team) and the more can be added by the community via Submit button in the app. If you have any questions or requests, please feel free to contact me. Thank you.

@alxflw
Copy link
Contributor

alxflw commented Mar 21, 2023

Hi @justmert. Thanks for your submission. We really like your proposal and would like to move forward- pending alignment on the following:

  1. Would you be open to building a crawler to automatically update / add / remove repositories? It will be critical to have a way to stay relevant as the list of repositories change over time
  1. Would you be open to adding more developer metrics specific to our network? (eg contract deployments, interactions with contracts, etc)

@justmert
Copy link
Author

Hi @alxflw , glad you liked FlowPulse!

I want to develop FlowPulse as off-chain and on-chain core analytics dashboard of Flow ecosystem so I am open to any features that Flow team requests. Now, based on your requests,

  1. Initially, I considered developing a crawler for FlowPulse. However, instead of using a crawler, I created a manual insertion system to ensure that only high-quality projects were displayed on the website. I did this in case there were projects that were not meant to be listed or were of poor quality. While this seemed like a good idea at the time, I now realize that a crawler would be more sustainable for the long term. Therefore, I would like to proceed with implementing a crawler.

  2. Of course I would add. My goal is to make FlowPulse a valuable analytics tool to the Flow ecosystem. Can you provide more information on what these metrics could be? I would appreciate any detailed insights you have on this matter.


In addition to the features mentioned in the proposal, I have compiled a list of additional features that I think would be beneficial to include to the FlowPulse for further milestones.

Project Health Score: Designed to provide users with a comprehensive overview of a project's overall health by evaluating a variety of metrics. This score will help users identify projects that have potential and are worth investing time and resources into, as well as flagging projects that are struggling or have a high risk of abandonment.

Integrate Twitter Data: With Twitter data of the projects (and the Flow Twitter channel), we can gain more insights and metrics about the open source projects listed in the platform. This integration will provide users with a variety of additional metrics, such as the number of followers, number of retweets, and number of likes, thus engagement rate etc.

Categorization: This feature will allow for the categorization of projects based on various criteria within the Flow ecosystem. This feature is essential because of the vast size of the Flow ecosystem, making it difficult for users to locate projects based on their specific interests. The projects will be categorized like DeFi, DEX, and others.

We can discuss in more detail what on-chain metrics to include. Afterwards, I can adjust the milestones based on the new features. If you would like to have a more extensive discussion, then please reach me at MertK#2634 on Discord. Thank you.

@alxflw
Copy link
Contributor

alxflw commented Apr 5, 2023

thanks @justmert - that makes sense. I think it would be great if we could include "ecosystem activity" metrics, similar to what can be found on https://www.developerreport.com.

We'd like to accept this grant proposal. I'll email you the next steps.

@fotescodev
Copy link

@justmert just found your project and you have no idea how helpful it is already. One ask - is there a way to include a hackathon tag for Flow Hackathon participants? That way we can shuffle through all hackathon projects and sort as needed. Usually these have a great value as sample projects.

@alxflw
Copy link
Contributor

alxflw commented May 18, 2023

Flow Hackathon

FYI - the list of projects is here: https://flow-hackathon.devfolio.co/projects. Most of them have public GH repos

@bluesign
Copy link

For the lazy: curl -s http://tymianek.com/flow/ | grep "https://github.com" | grep href | sed "s/href=\"//" | sed "s/\".*//" | sort

@justmert
Copy link
Author

Hey @fotescodev, thank you for your feedback as I am still developing the platform so some data and features are not available yet.

Also, thanks for feature request, will include it to my milestone as that will improve categorization and overall UX.

@justmert
Copy link
Author

justmert commented May 22, 2023

For the lazy: curl -s http://tymianek.com/flow/ | grep "https://github.com" | grep href | sed "s/href=\"//" | sed "s/\".*//" | sort

Hey @bluesign, thanks for the awesome one-liner. Could you confirm that this project list is same as resource that @alxflw provided? If not, then I need to merge two resources to collect Hackathon projects. Thank you.

@bluesign
Copy link

Yep it is scraped from the hackathon page after the hackathon. Should be same.

@justmert
Copy link
Author

Awesome! Thank you @bluesign :)

@justmert
Copy link
Author

justmert commented Oct 12, 2023

Hi all, we have updated the project to the v2, and added so many features that we can't count.
You can see it in here: https://flowana.app/flow/github

Also added hackathon projects :) @fotescodev. In projects page, you can categorize by selecting only hackathons. Also added ecosystem developer activity metrics as you have requested @alxflw, and can be seen in the developer tab.

Btw, we saw that @bluesign is the best guy in the forum thanks to our platform :)

I hope community find it usable. Just note that, we still developing the platform, so some ui bugs can happen.

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

No branches or pull requests

5 participants