github-stats-metrics's People
github-stats-metrics's Issues
github_api.goを責務別に解体してリファクタする
概要
がHTTPクライアント生成、クエリ生成、発行、環境変数読み込みなど全部入りになっているので、綺麗に分割する
PR一覧に各種フィルタや並び替えを追加する
概要
フロントエンドのソート機能やフィルタ機能で、以下を実現する
フィルタ
- PR作者を指定して絞り込む
- リポジトリを指定して絞り込む
- 各種リードタイムで1日以上かかったPRを絞り込む
ソート(昇順/降順どちらも対応する)
- PR作者でソート
- リポジトリ名でソート
- 各種リードタイムでソート
ルーティングを実装して画面を切り替えできるようにする
概要
- スプリント一覧
- スプリント詳細
の画面をそれぞれ画面遷移できるようにルーティングを設定する
スプリント一覧
トップ画面。
スプリント一覧テーブルと開発メトリクスチャートのコンポーネントを表示する。
スプリントIDをリンクにして、スプリント詳細に遷移できるようにする。
スプリント詳細
そのスプリント中にmegerしたPR一覧を表示する
スプリント毎のPRの平均リードタイムをグラフで表示する
概要
スプリントあたりのPRのスタッツの平均をとって、チームの開発がどのように変化しているかを確認できるようにする
やること
設計から始める必要がある。
全スプリントのPRを一気に集計するのはレスポンスタイム的に時間がかかるので、スプリント毎にメトリクスをDBに入れて表示するだけにした方がコスパがいいかもしれない。
スプリント数は高が知れているし、GitHub API v4のRateLimitもそんなに厳しくないので、スプリント詳細APIを叩きまくって取得するのでもしばらくはいいかもしれない。
スプリント詳細取得API(GET)でDBへの永続化をするなという話はある...
過去のスプリントのメトリクスは変動することがないので、本来であればbatch的に集計しておくのがいいんだろうなとは思う。
集計開始ボタンを作って、それを押したら集計してDBに永続化するイメージ。
現在進行中のスプリントはリアルタイムに反映したいので、今スプリントと前スプリント分くらいはDB永続化せずに都度GitHub API v4経由で取得するのもありかもしれない。
スプリントを管理して過去のスプリントのPRも表示できるようにする
概要
スプリント詳細(「参加メンバー」「開始日」「終了日」)の情報をDBに永続化して一覧表示し、過去のスプリント詳細画面も表示できるようにする
スプリント詳細を登録できるようにする
- frontend
- スプリント詳細で指定できる「参加メンバー」「開始日」「終了日」を登録できるようにする
- backend
- MySQLのDBコンテナを作成する
- スプリント詳細で指定できる「参加メンバー」「開始日」「終了日」を永続化するAPIを作成する
スプリントの一覧を表示する
- frontend
- スプリント一覧を表示できるようにする
- backend
- DBに登録したスプリント一覧を返すAPIを作成する
スプリント詳細を修正できるようにする
- frontend
- スプリント詳細を編集できるようにする
- backend
- スプリント詳細を編集できるAPIを作成する
スプリントのPR一覧を取得したい
概要
1スプリントの中で実行されたPRを一覧で表示したい。
その際に、対象となる期間や参加開発メンバーもスプリント毎に取得したい
やること
スプリントの詳細を管理できるようにする
- frontend
- スプリントの開始日と終了日を指定できる
- スプリントに参加するメンバーを指定できる
- スプリントの詳細情報を表示できる
- スプリントの開始日
- スプリントの終了日
- スプリントに参加したメンバー
- スプリントでマージしたPR一覧
- backend
- frontendからリクエストされた「開始日」「終了日」「参加メンバー」を使用してGitHub API v4経由でPRを取得できるようにする
プルリクエスト一覧が表示できる
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.