GitHub 年間レポート 2025

Web

概要

GitHub Annual Report 2025は、自分の2025年のGitHub活動を簡単にまとめて視覚化するためのオープンソースプロジェクトです。クライアントはReactで作られ、バックエンドはTypeScriptでElysiaフレームワークを使いBun上で動作する設計になっています。ユーザーはGitHub OAuthで認可を与えると、サーバーがGitHub APIからコミット、プルリクエスト、スターなどのデータを集め、クライアント側でレポートやチャートとして表示します。ローカルやクラウドへ自己ホスティングしやすいようにdocker-composeや環境変数の説明もREADMEにあります。GitHub

リポジトリの統計情報

  • スター数: 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活動の年次レポート生成ツールです。

リポジトリ情報:

READMEの抜粋:

GitHub Annual Report 2025 🎉

代码高手,快来总结一下你的2025年吧!

Preview Tech Stack

来看看效果吧!!! 效果如图

自己部署!!!

GitHub OAuth 应用创建

  1. 访问 GitHub Developer Settings
  2. 点击 “New OAuth App”
  3. 填写应用信息:
    • Application name: GitHub Annual Report 2025
    • Homepage URL: 你的部署域名
    • 例如https://git2025.h...