Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hossain-khan/github-stats

Playground for exploring Github API and collect some stats for PR review.
https://github.com/hossain-khan/github-stats

github github-api github-pr-stats github-statistics github-stats kotlin

Last synced: 17 days ago
JSON representation

Playground for exploring Github API and collect some stats for PR review.

Awesome Lists containing this project

README

        

# GitHub Stats 📈
Playground for exploring Github API and collect some PR review stats for different users/contributors.

> 🚧 Initial work done (see limitations) 🚧
> 👷‍♂️ Ready for experimental use!

### Background
This project exist to explore GitHub API to get some common answer about PR review time by different reviewers.

#### What it is NOT
- ❌ It is not a comprehensive GitHub statistics generator tool. Built for specific purpose.
- ❌ It is not a modular tool that can be re-used to query GitHub APIs.
- ❌ It does not contain CLI or easy way to run the stats-generator except via **IntelliJ IDE**.
- ❌ Existing supported stats are not localized for different work hour or weekends. Only North America time zone supported.
- ❌ It does not follow all industry standards, and does not strive to be performant either.

#### What it is ✔️
- ✅ It can show you PR statistics for PRs created by specific author/contributor of a repository
- ✅ It can generate CSV for the PR stats which can be used in Google Sheets or alike to generate charts
##### Limitation
- 🏋️ It does not collect stats in parallel to avoid GitHub API rate-limit and adds delay between API calls
- 🏋️ It is **NOT** able to accurately compute PR review time due to many complexities. The review time is provided for informational purpose only.

## Setup 🛠
See [SETUP](SETUP.md) for details on how to setup the project using IntelliJ IDEA.

## How
The program collects all the related data to user's via different GitHub APIs and compiles releavant data into stats. Those stats are then run through [StatsFormatter](https://github.com/hossain-khan/github-stats/blob/main/src/main/kotlin/dev/hossain/githubstats/formatter/StatsFormatter.kt) to generate files.

Here is an quick overview of how stats generation works.
Stats Generator Flow

## Sample
Here is some data generated from `freeCodeCamp` repository for `naomi-lgbt` user.

### Stats as PR Author
Here is example chart created using generated CSV file.

![Total PR Reviewed for naomi-lgbt since 2022-01-01](https://user-images.githubusercontent.com/99822/195901619-b145596d-d685-4ff5-8ad6-5fb9fb8648ef.svg)
![Total PR Reviewed for naomi-lgbt since 2022-01-01 vs Reviewer](https://user-images.githubusercontent.com/99822/195901620-b0407aed-579f-46ed-8add-ac72d694da5e.svg)

📊 Stats Report

```
-------------------------------------------------------------------------------------------------
PR reviewer's stats for PRs created by 'naomi-lgbt' on 'freeCodeCamp' repository since 2022-01-01
-------------------------------------------------------------------------------------------------

┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
│ │
│ ● PR reviewer stats for "raisedadead" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 35 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 0s for PR#47955 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47940 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47885 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#47807 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#47595 │
│ ├────────────────────────────────────────────────────┤
│ │ 1m 30s for PR#47585 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47508 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h for PR#47390 │
│ ├────────────────────────────────────────────────────┤
│ │ 11h 29m for PR#47385 │
│ ├────────────────────────────────────────────────────┤
│ │ 5h 44m for PR#47362 │
│ ├────────────────────────────────────────────────────┤
│ │ 36m 16s for PR#47322 │
│ ├────────────────────────────────────────────────────┤
│ │ 6h 13m for PR#46968 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46890 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 16m 49s for PR#46514 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46183 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46167 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#45954 │
│ ├────────────────────────────────────────────────────┤
│ │ 11m 42s for PR#45780 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 19h 50m for PR#45688 │
│ ├────────────────────────────────────────────────────┤
│ │ 15h 57m for PR#45636 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 5h 20m for PR#45526 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#45525 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 0h 24m for PR#45442 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h for PR#45336 │
│ ├────────────────────────────────────────────────────┤
│ │ 7h for PR#45318 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#45258 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 45m 59s for PR#45257 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 6h 45m for PR#45167 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 8h 12m for PR#45133 │
│ ├────────────────────────────────────────────────────┤
│ │ 14h 12m for PR#45130 │
│ ├────────────────────────────────────────────────────┤
│ │ 9h for PR#44826 │
│ ├────────────────────────────────────────────────────┤
│ │ 15h 7m for PR#44699 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#44695 │
│ ├────────────────────────────────────────────────────┤
│ │ 11h 48m for PR#44692 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h 25m for PR#44674 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 8h 45m 5.6s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "Sembauke" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 23 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 1h for PR#47369 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47363 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h for PR#47361 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#47322 │
│ ├────────────────────────────────────────────────────┤
│ │ 18h 10m for PR#47312 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47306 │
│ ├────────────────────────────────────────────────────┤
│ │ 8h for PR#47133 │
│ ├────────────────────────────────────────────────────┤
│ │ 22h 9m for PR#47071 │
│ ├────────────────────────────────────────────────────┤
│ │ 21h 46m for PR#47036 │
│ ├────────────────────────────────────────────────────┤
│ │ 16h 48m for PR#46993 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46862 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h for PR#45935 │
│ ├────────────────────────────────────────────────────┤
│ │ 9h 20m for PR#45933 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 1h 2m for PR#45873 │
│ ├────────────────────────────────────────────────────┤
│ │ 2m 25s for PR#45782 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 2h 42m for PR#45568 │
│ ├────────────────────────────────────────────────────┤
│ │ 12h 22m for PR#45433 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h 34m 52s for PR#45349 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#45258 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h for PR#45089 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 5h 25m for PR#45048 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h 2m for PR#44868 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#44741 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 11h 24m 29.434782608s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "ojeytonwilliams" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 20 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 0s for PR#47885 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47508 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h for PR#47369 │
│ ├────────────────────────────────────────────────────┤
│ │ 5h 53m for PR#47362 │
│ ├────────────────────────────────────────────────────┤
│ │ 20h 57m for PR#47071 │
│ ├────────────────────────────────────────────────────┤
│ │ 5h 39m for PR#46968 │
│ ├────────────────────────────────────────────────────┤
│ │ 12m for PR#46778 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 53m 5s for PR#46054 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#45936 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 5h 43m for PR#45865 │
│ ├────────────────────────────────────────────────────┤
│ │ 5d 11h 44m for PR#45587 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#45525 │
│ ├────────────────────────────────────────────────────┤
│ │ 12m 39s for PR#45440 │
│ ├────────────────────────────────────────────────────┤
│ │ 58m 30s for PR#45257 │
│ ├────────────────────────────────────────────────────┤
│ │ 9d 10h 45m for PR#45214 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#45167 │
│ ├────────────────────────────────────────────────────┤
│ │ 2h for PR#45078 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 13h 3m for PR#44994 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 10h 30m for PR#44919 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h 27m for PR#44692 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 1d 2h 29m 51.7s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "moT01" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 19 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 1h for PR#47811 │
│ ├────────────────────────────────────────────────────┤
│ │ 8h 39m for PR#47807 │
│ ├────────────────────────────────────────────────────┤
│ │ 44s for PR#47595 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46878 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h 19m 19s for PR#46624 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 39m 19s for PR#46123 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 8h 5m for PR#45865 │
│ ├────────────────────────────────────────────────────┤
│ │ 6h 25m for PR#45858 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 3h 2m for PR#45782 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 19h 50m for PR#45688 │
│ ├────────────────────────────────────────────────────┤
│ │ 3d 4h 23m for PR#45568 │
│ ├────────────────────────────────────────────────────┤
│ │ 6h 34m 25s for PR#45349 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 14h 39m for PR#45214 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 15h 30m for PR#45146 │
│ ├────────────────────────────────────────────────────┤
│ │ 13h 55m for PR#45130 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 14h 55m for PR#44994 │
│ ├────────────────────────────────────────────────────┤
│ │ 4d 1h 59m for PR#44919 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 34m 32s for PR#44917 │
│ ├────────────────────────────────────────────────────┤
│ │ 6d 7h 5m for PR#44771 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 1d 10h 46m 4.157894736s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "ShaunSHamilton" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 18 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 1h for PR#47811 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h 7m 9s for PR#47565 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h 11m 36s for PR#46054 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h for PR#45935 │
│ ├────────────────────────────────────────────────────┤
│ │ 9h 50m for PR#45933 │
│ ├────────────────────────────────────────────────────┤
│ │ 4m 57s for PR#45780 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h 9m 29s for PR#45716 │
│ ├────────────────────────────────────────────────────┤
│ │ 14h 49m for PR#45636 │
│ ├────────────────────────────────────────────────────┤
│ │ 6d 0h 24m for PR#45587 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 21m 3s for PR#45440 │
│ ├────────────────────────────────────────────────────┤
│ │ 6h 28m 10s for PR#45318 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#45167 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 16h 5m for PR#45146 │
│ ├────────────────────────────────────────────────────┤
│ │ 52m 37s for PR#45133 │
│ ├────────────────────────────────────────────────────┤
│ │ 5h for PR#45078 │
│ ├────────────────────────────────────────────────────┤
│ │ 3d 23h 30m for PR#44771 │
│ ├────────────────────────────────────────────────────┤
│ │ 38m for PR#44741 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h 10m for PR#44674 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 19h 52m 16.722222222s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "Sboonny" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 16 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 0s for PR#47940 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47363 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 16h 46m for PR#47361 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#47306 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h for PR#47130 │
│ ├────────────────────────────────────────────────────┤
│ │ 5m 42s for PR#47036 │
│ ├────────────────────────────────────────────────────┤
│ │ 16h 4m for PR#46993 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46862 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46839 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46838 │
│ ├────────────────────────────────────────────────────┤
│ │ 6m 46s for PR#46778 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46676 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46641 │
│ ├────────────────────────────────────────────────────┤
│ │ 15m 47s for PR#46624 │
│ ├────────────────────────────────────────────────────┤
│ │ 2h for PR#46610 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 33m 32s for PR#46529 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 3h 51m 59.187500s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "ieahleen" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 11 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 2h 2m 28s for PR#47565 │
│ ├────────────────────────────────────────────────────┤
│ │ 18h 10m for PR#47312 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46839 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46838 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46676 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 50m 41s for PR#46610 │
│ ├────────────────────────────────────────────────────┤
│ │ 12m 55s for PR#46529 │
│ ├────────────────────────────────────────────────────┤
│ │ 2h 58m 55s for PR#45336 │
│ ├────────────────────────────────────────────────────┤
│ │ 2d 2h 29m for PR#45048 │
│ ├────────────────────────────────────────────────────┤
│ │ 1h 3m 49s for PR#44917 │
│ ├────────────────────────────────────────────────────┤
│ │ 8h 36m for PR#44826 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 7h 45m 48s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "gikf" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 5 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 0s for PR#45954 │
│ ├────────────────────────────────────────────────────┤
│ │ 5h 11m for PR#45858 │
│ ├────────────────────────────────────────────────────┤
│ │ 3h for PR#45526 │
│ ├────────────────────────────────────────────────────┤
│ │ 2h for PR#45433 │
│ ├────────────────────────────────────────────────────┤
│ │ 9h 55m for PR#44770 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 4h 1m 12s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "scissorsneedfoodtoo" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 4 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 11h 29m for PR#47385 │
│ ├────────────────────────────────────────────────────┤
│ │ 1d 4h 54m for PR#47159 │
│ ├────────────────────────────────────────────────────┤
│ │ 8h for PR#47133 │
│ ├────────────────────────────────────────────────────┤
│ │ 23m for PR#45873 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 12h 11m 30s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "ahmadabdolsaheb" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 2 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 22h 19m for PR#47159 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#46641 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 11h 9m 30s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "jdwilkin4" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 2 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 0s for PR#46167 │
│ ├────────────────────────────────────────────────────┤
│ │ 0s for PR#45936 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 0s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "huyenltnguyen" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 2 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 33m 59s for PR#46123 │
│ ├────────────────────────────────────────────────────┤
│ │ 4h for PR#45089 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 2h 16m 59.5s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "lasjorg" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 1 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 1h 11m for PR#47385 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 1h 11m │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "RandellDawson" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 1 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 1h for PR#47130 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 1h │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "Nirajn2311" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 1 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 4h for PR#46514 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 4h │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "bbsmooth" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 1 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 0s for PR#45716 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 0s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "RuolinZheng08" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 1 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 0s for PR#44868 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 0s │
├──────────────────────────────────────────────┴────────────────────────────────────────────────────┤
│ │
│ ● PR reviewer stats for "jeremylt" │
├──────────────────────────────────────────────┬────────────────────────────────────────────────────┤
│ Total Reviews │ 1 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Review Durations │ 44m 11s for PR#44770 │
├──────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Average Time │ 44m 11s │
└──────────────────────────────────────────────┴────────────────────────────────────────────────────┘
```

### Stats as PR Reviewer
And this chart is user as PR reviewer, reviewing other user's PRs.

![Total PRs Reviewed by naomi-lgbt since 2022-01-01 vs Reviewed For](https://user-images.githubusercontent.com/99822/195901616-a0a0cea0-dcba-474d-bd64-a512d97333fb.svg)

📊 Stats Report

```
---------------------------------------------------------------------------------------------
Stats for all PR reviews given by 'naomi-lgbt' on 'freeCodeCamp' repository since 2022-01-01.
---------------------------------------------------------------------------------------------

┌──────────────────────────────────────┬────────────────────────────────────────────────────────┐
│ Total Reviews │ 471 │
├──────────────────────────────────────┼────────────────────────────────────────────────────────┤
│ Average Review Time │ 6h 58m 9.244161358s │
├──────────────────────────────────────┼────────────────────────────────────────────────────────┤
│ PR Authors Reviewed For │ ✔ 1 PR reviewed for 'rffontenelle' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'k-rajat19' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'krupalitrivedi' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'aryandeelwal' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'tanmaythakral' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'prajwal-144' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'fzs1994' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'adripo' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'panoreak' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'LucasVance' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'ppeters0502' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'limap99' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'utkershrajvenshi' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'rakicodes' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'tusharxoxoxo' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'hbar1st' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'marksist300' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'maciek367' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'yashkoli836' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'rutterjt' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'acdavit' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'Xavier-Pierre-dev' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'mjh316' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'hanswang123456' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'wongwinnie198' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'joonkyu' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'AirSayy' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'gabrielrochamd' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'ayaanraj' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'alpox' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'texas2010' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'sambhujimmi' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'billybrown-iii' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'UCYLMZ' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'Prathamesh010' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'casem725' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'JordanMooree' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'CAPTAINCOBRA' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'hassaanp' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'Abdelmalek123-Ennani' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'lharrison1313' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'TrshDesigns' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'matheuspor' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'yuanhepeng' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'JuumanBeing' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'archibongn1' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'sjkadali' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'alevanni' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'sprajams' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'lem0n4id' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'freeZe2511' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'anjiqbal' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'jmirfield' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'Jagrutiti' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'wbenarto' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'ls-madhu' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'c-ehrlich' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'sstonaker' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'palashgdev' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'Palakash27' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'yossirise' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'thomscoder' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'ReubenMenezes' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'erictleung' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 1 PR reviewed for 'DarshanVaishya' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'Nirajn2311' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'DerrykBoyd' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'mmatsumoto1026' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'DylanDevelops' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'RandellDawson' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'Dario-DC' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'karenjoycelowe' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'HenMoshe' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'Ismailtlem' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 2 PRs reviewed for 'Kernix13' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 3 PRs reviewed for 'renovate[bot]' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 3 PRs reviewed for 'lasjorg' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 3 PRs reviewed for 'RafaelDavisH' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 3 PRs reviewed for 'raditotev' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 3 PRs reviewed for 'poonkuzhali' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 3 PRs reviewed for 'MattDClarke' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 4 PRs reviewed for 'jeremylt' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 4 PRs reviewed for 'sidemt' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 4 PRs reviewed for 'huyenltnguyen' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 4 PRs reviewed for 'gikf' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 5 PRs reviewed for 'bbsmooth' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 6 PRs reviewed for 'Sembauke' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 9 PRs reviewed for 'ahmadabdolsaheb' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 10 PRs reviewed for 'Sboonny' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 12 PRs reviewed for 'moT01' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 14 PRs reviewed for 'ShaunSHamilton' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 17 PRs reviewed for 'ieahleen' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 18 PRs reviewed for 'raisedadead' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 44 PRs reviewed for 'ojeytonwilliams' │
│ ├────────────────────────────────────────────────────────┤
│ │ ✔ 217 PRs reviewed for 'camperbot' │
└──────────────────────────────────────┴────────────────────────────────────────────────────────┘
```

## References
* https://docs.github.com/en/rest
* https://docs.github.com/en/rest/overview/endpoints-available-for-github-apps