Description
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
for profiles and for repos it has an overview of:
- 1. contributors and how many contributions they have done over time Implement contributors graph #27882
- 2. commits over time Implement recent commits graph #29210
- 3. additions and deletions over time Implement code frequency graph #29191
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:
- Commits over time where you can filter for branches
- Issues over time
- PR stats
- 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)
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
- Profile
- A graph to show what your contributions actually are (50% Code Review, 25% Commits, 15% Issues, 10% PRs).
- All-time stats (Total number of commits: 1,7k, PRs: 146, Languages used: 57% Java, 15% C++. etc.)
- A drop down menu to select the year to show in the contribution heatmap
- For further ideas have a look into this awesome looking gh profile https://github.com/marcosbarker
- Repositories
- Commit statistics
- Commits over time (per Year/Month/Day of the month/Day of the Week/Hour)
- Amount of commits per user
- Issue statistics
- Issues created and closed over time (per Year/Month/Day of the month/Day of the Week/Hour)
- PR statistics
- PRs created and closed over time (per Year/Month/Day of the month/Day of the Week/Hour)
- List of PRs with following stats (maybe also graphical):
- Additons/Deletions
- Time from opening to closing
- Number of Contributors/Reviewers
- Number of Commits
- Number of Comments
- [OPTIONAL] Feature Life Cycle: From the creation of an issue over the commits on a related branch to a PR until it has merged. In which state does a feature last how much time (where would I need to improve to get faster deployments)
- Commit statistics
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.