GitHub 年間レポート 2025
概要
GitHub Annual Report 2025は、自分の2025年のGitHub活動を簡単にまとめて視覚化するためのオープンソースプロジェクトです。クライアントはReactで作られ、バックエンドはTypeScriptでElysiaフレームワークを使いBun上で動作する設計になっています。ユーザーはGitHub OAuthで認可を与えると、サーバーがGitHub APIからコミット、プルリクエスト、スターなどのデータを集め、クライアント側でレポートやチャートとして表示します。ローカルやクラウドへ自己ホスティングしやすいようにdocker-composeや環境変数の説明もREADMEにあります。
リポジトリの統計情報
- スター数: 12
- フォーク数: 0
- ウォッチャー数: 12
- コミット数: 4
- ファイル数: 7
- メインの言語: TypeScript
主な特徴
- GitHub OAuthを利用した安全な認証フローで個人データを取得
- ReactフロントエンドとElysia+Bunの軽量バックエンドによる高速なレスポンス
- Docker Composeで簡単に自己ホスティング可能
- ビジュアルな年次レポート(画像プレビューあり)を生成して共有可能
技術的なポイント
このプロジェクトはモダンなフルスタックTypeScript構成を採用している点が特徴です。フロントエンドはReactでUIを構築し、OAuth認可後はバックエンドのAPIにリクエストしてGitHub GraphQL/RESTから活動データを収集します。バックエンドはElysia(軽量かつTypeScriptフレンドリーなフレームワーク)上で動作し、Bunランタイムを想定しているため起動やビルドが非常に高速です。認証フローは典型的なAuthorization Codeを使用し、サーバー側でコード交換してアクセストークンを取得、必要に応じてGitHub APIのページネーションやレートリミットに配慮したフェッチ処理を実装します。自己ホスティング向けにdocker-compose.ymlが用意されており、環境変数でクライアントID/シークレットやコールバックURLを管理できます。設計上、アクセストークンはサーバーサイドで一時保管してAPI呼び出しに使用する想定で、永続化や長期保存はREADMEで注意喚起されています。さらに、フロントエンドとバックエンドを明確に分離しているため、将来的にスタティックホスティングやサーバーレスへの移行、チャートライブラリの差し替え、データキャッシュ(Redisなど)の導入が容易です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- client: dir
- docker-compose.yml: file
- example.png: file
…他 2 ファイル
(client ディレクトリ)
クライアント側はReactアプリが格納されており、OAuthの開始(/auth等)やバックエンドAPIから取得した集計データを受け取ってチャートやカードとして表示します。example.pngは生成されるレポートのプレビューです。
(docker-compose.yml)
ローカルで簡単に立ち上げるための設定が含まれており、環境変数でGitHub OAuthの設定値を指定することでセルフホストが可能です。
実行とデプロイのポイント
READMEにはGitHub OAuthアプリの作成手順が記載されています。手順は非常に標準的で、Developer SettingsでNew OAuth Appを作り、Application nameやHomepage URL、Callback URLを設定します。次に環境変数(CLIENT_ID, CLIENT_SECRET, BASE_URL など)をdocker-composeまたはホスティング環境に設定して起動します。運用上はアクセストークンの扱い(短期保存、暗号化)、APIレート制限に対するバックオフ、ログの取り扱い、HTTPS化(プロダクションでの証明書管理)に注意が必要です。CI/CDでの自動デプロイや、Bun用に最適化したビルドを組み込むことで起動時間・コストの削減が期待できます。
まとめ
手軽に自己ホストできるGitHub活動の年次レポート生成ツールです。
リポジトリ情報:
- 名前: github-annual-report-2025
- 説明: 快来总结一下你的2025年吧!
- スター数: 12
- 言語: TypeScript
- URL: https://github.com/BingyanStudio/github-annual-report-2025
- オーナー: BingyanStudio
- アバター: https://avatars.githubusercontent.com/u/8073014?v=4
READMEの抜粋:
GitHub Annual Report 2025 🎉
代码高手,快来总结一下你的2025年吧!
来看看效果吧!!! 效果如图
自己部署!!!
GitHub OAuth 应用创建
- 访问 GitHub Developer Settings
- 点击 “New OAuth App”
- 填写应用信息:
- Application name: GitHub Annual Report 2025
- Homepage URL: 你的部署域名
- 例如
https://git2025.h...