hypertrons / hypertrons-crx

A browser extension for insights into GitHub, Gitee projects and developers.
https://hypercrx.cn
Apache License 2.0
357 stars 102 forks source link

[Feature] Custom data aggregation function for users. #487

Closed frank-zsy closed 8 months ago

frank-zsy commented 2 years ago

Description

Right now, we have lots of data to show in Hypercrx, but for users, they may want to know the aggregated result for multiple repositories or even compare among different sets of repos.

Can we add a new config in Hypercrx to provide aggregate function. Add a new config like this:

[{
  "main":"hypertrons/hypertrons-crx",
  "repos":[
    "hypertrons/hypertrons-crx",
    "hypertrons/hypertrons-website"
  ]
}]

Then the data show in hypertrons-crx repo should be an aggregated result of two repos.

Further more, if we add more config of sets of repos, we may add a new comparison view to compare the data among projects(sets of repos or even orgs).

Is this feasible?

wxharry commented 2 years ago

That is great! IMO, we could add a new view in perceptor tab to show the aggretated results and comparison features. It sounds like a new project to me thou.

tyn1998 commented 2 years ago

Hi @frank-zsy, personally I think it's kind of wierd to make a certain repo to be a dashbord of aggregated data for a group of projects. If we want to show aggregated data for an Org, we can put charts in GitHub org pages.

If we want to show aggregated data that contains projects in different organizations, like X-lab and Hypertrons, I am inclined to use Extension Options Page(which can do more then provide options) to display aggregated data for a group of projects and we also can turn the Popup Page to a quick entrance of your favourate groups:

Popup page as quick entrance:

image

Options page shows aggregated data:

image

We can also use chrome.storage API to store users' favourate groups so they can be synced between devices by a google (or Edge?) account.

tyn1998 commented 2 years ago

IMO, we could add a new view in perceptor tab to show the aggretated results and comparison features. It sounds like a new project to me thou.

Hi @wxharry, the Perceptor might be a dashboard or a reactive report in future :)

See https://github.com/X-lab2017/open-digger/issues/986#issuecomment-1266481486

frank-zsy commented 2 years ago

@tyn1998 Good point. But my concern is that if a user put lots repo groups in setting, the page in favorite groups could be really long. And at most time, users may want to compare group of projects, then the most instinct place is in these repos.

tyn1998 commented 2 years ago

Oh I got your point: how to directly go to current repo's group page without scrolling and searching?

Maybe we can also put a button in a repo page if the current repo is in one of the user's favourate groups, then a click on the button will bring the user to the group-level page the repo belongs to.

tyn1998 commented 2 years ago

Another thing to concern: if we use .github/hypertrons.json to store the repo groups, only maintainers of repos can control what repos are in a group; if we use chrome.storage to store the repo groups, we let users control their favourate groups.

The two strategies both have their strength.

frank-zsy commented 2 years ago

Another thing to concern: if we use .github/hypertrons.json to store the repo groups, only maintainers of repos can control what repos are in a group; if we use chrome.storage to store the repo groups, we let users control their favourate groups.

The two strategies both have their strength.

I prefer the second one, the extension should follow users setting but not repos.

tyn1998 commented 2 years ago

Hi guys, I produced a prototype for this feature in MasterGo, you can have a look :)

https://user-images.githubusercontent.com/32434520/200306078-f16e06bf-24e2-40e9-83e8-5c36ef0dda80.mov

frank-zsy commented 2 years ago

That is really cool!

HalloMelon commented 8 months ago

Close this issue since it has been mentioned in OSPP.