gitea/services
Şahin Akkaya 21331be30c
Implement contributors graph (#27882)
Continuation of https://github.com/go-gitea/gitea/pull/25439. Fixes #847

Before:
<img width="1296" alt="image"
src="https://github.com/go-gitea/gitea/assets/32161460/24571ac8-b254-43c9-b178-97340f0dc8a9">

----
After:
<img width="1296" alt="image"
src="https://github.com/go-gitea/gitea/assets/32161460/c60b2459-9d10-4d42-8d83-d5ef0f45bf94">

---
#### Overview
This is the implementation of a requested feature: Contributors graph
(#847)

It makes Activity page a multi-tab page and adds a new tab called
Contributors. Contributors tab shows the contribution graphs over time
since the repository existed. It also shows per user contribution graphs
for top 100 contributors. Top 100 is calculated based on the selected
contribution type (commits, additions or deletions).

---
#### Demo
(The demo is a bit old but still a good example to show off the main
features)

<video src="https://github.com/go-gitea/gitea/assets/32161460/9f68103f-8145-4cc2-94bc-5546daae7014" controls width="320" height="240">
  <a href="https://github.com/go-gitea/gitea/assets/32161460/9f68103f-8145-4cc2-94bc-5546daae7014">Download</a>
</video>


#### Features:

- Select contribution type (commits, additions or deletions)
- See overall and per user contribution graphs for the selected
contribution type
- Zoom and pan on graphs to see them in detail
- See top 100 contributors based on the selected contribution type and
selected time range
- Go directly to users' profile by clicking their name if they are
registered gitea users
- Cache the results so that when the same repository is visited again
fetching data will be faster


---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: hiifong <i@hiif.ong>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: yp05327 <576951401@qq.com>
2024-02-15 23:21:13 +01:00
..
actions Only delete scheduled workflows when needed (#29091) 2024-02-08 13:00:17 +00:00
agit Adjust object format interface (#28469) 2023-12-17 11:56:08 +00:00
asymkey Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
attachment Even more `db.DefaultContext` refactor (#27352) 2023-10-03 10:30:41 +00:00
auth Unify user update methods (#28733) 2024-02-04 13:29:09 +00:00
automerge Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
context Another round of `db.DefaultContext` refactor (#27103) 2023-09-25 13:17:37 +00:00
convert Add merge style `fast-forward-only` (#28954) 2024-02-12 23:37:23 +01:00
cron Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
doctor Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
externalaccount Final round of `db.DefaultContext` refactor (#27587) 2023-10-14 08:37:24 +00:00
feed More `db.DefaultContext` refactor (#27265) 2023-09-29 12:12:54 +00:00
forms Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
gitdiff Add option to disable ambiguous unicode characters detection (#28454) 2023-12-17 14:38:54 +00:00
indexer Fix missing issue search index update when changing status (#28325) 2023-12-03 12:22:44 +01:00
issue Refactor issue template parsing and fix API endpoint (#29069) 2024-02-12 05:04:10 +00:00
lfs Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
mailer Refactor locale&string&template related code (#29165) 2024-02-14 21:48:45 +00:00
markup make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
migrations Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
mirror Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
notify Update status and code index after changing the default branch (#27018) 2023-09-13 04:43:31 +00:00
org Delete repos of org when purge delete user (#27273) 2023-10-19 13:16:11 +00:00
packages Propagate install_if and provider_priority to APKINDEX (#28899) 2024-02-05 05:52:56 +00:00
pull Add merge style `fast-forward-only` (#28954) 2024-02-12 23:37:23 +01:00
release Avoid sending update/delete release notice when it is draft (#29008) 2024-02-02 04:18:12 +00:00
repository Implement contributors graph (#27882) 2024-02-15 23:21:13 +01:00
secrets Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
task Fix incorrect ctx usage in defer function (#27740) 2023-10-22 14:12:27 +00:00
uinotification Penultimate round of `db.DefaultContext` refactor (#27414) 2023-10-11 04:24:07 +00:00
user Unify password changing and invalidate auth tokens (#27625) 2024-02-04 14:05:26 +00:00
webhook Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
wiki Fix an actions schedule bug (#28942) 2024-01-31 14:55:12 +00:00