go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
45.03k stars 5.49k forks source link

[Feature Request] Analytics #18262

Open schorsch13 opened 2 years ago

schorsch13 commented 2 years ago

Main idea

I was thinking about how to improve gitea so it can better compete with the other mainstream git hosting platforms. I discovered that both GitHub and GitLab have pretty good analytics for profiles and repos.

Comparison to other platforms

While gitea only has a contribution heatmap for profiles and only a counter for issues and PRs for repos, GitHub has a pretty awesome overview of all different types of contributions you did

image

for profiles and for repos it has an overview of:

image

image

image

GitLab on the other hand has similar features on profile analytics but for repos, oh boy, there are the most awesome analytics you can have for a repo. Listing the best ones:

  1. Commits over time where you can filter for branches

image

  1. Issues over time

image

  1. PR stats

image

  1. The different stages of new features. From when the issue is created to when the PR is merged. How much time does a feature spend in which state. (pretty useful to improve your deployment rate)

image

Gitea is my favourite alternative to all the proprietary and open-core git hosting platforms out there and I use it for all my projects but there is a long way ahead for gitea to become a good alternative from a business pov. Teams need more tools to collaborate and a analytics system would definitely be a good selling point.

Suggestions

Remark

I know that this feature is beyond the scope of an issues. It is rather an entire Milestone but since I am just a user of gitea and not a team member I thought creating an issue would be the right way to start.

Also I would be interested in helping with the development of this system but I thought it would be better to first ask for feedback before I just start implementing my ideas.

Therefore, feel free to share your opinion to help improving gitea.

vhscom commented 2 years ago

I feel a good first step would be to get a download count displayed so users can add a badge to their repos. Then this feature could be iterated on so that more detailed (and privacy-conscious) analytics put in place as time goes on. The single step of adding a download counter would give maintainers a better feel for which apps to spend time on and end-users more transparency over the popularity of a project without relying on star count (in turn giving users a reason to sign-up for an account). Somethig like fail2ban could be used to prevent gaming the download counts.

schorsch13 commented 2 years ago

I totally agree. A download counter for releases is very important and would be a great addition to gitea