Skip to content

Repository files navigation


🌸 BeGit;

今、なに作ってる?

BeReal × GitHub — 開発者のための瞬間シェア SNS


Swift SwiftUI Go GitHub OAuth


✨ 技育CAMP ハッカソン2026 vol.3 出展作品 ✨


概要

開発の「今」をチームでゆるくシェアする、開発者のための瞬間シェア SNS

リモートチームでの開発中、「みんな今何してるんだろう...」って思うことありませんか?
Slackのスタンドアップは義務感があって続かない。そんな課題を、ゲームみたいな楽しさで解決するのが BeGit; です。

BeReal の「通知が来たら今すぐ投稿!」をそのまま GitHub × チーム開発に持ち込みました。


スクリーンショット

フィード 投稿作成 投稿カード 通知発行

ゲームの流れ

📢 誰かが「BeGit Time!」を発行
        ↓
⏱️ 全員に通知 — 1時間のカウントダウン開始!
        ↓
💻 コードを書いて → コミットして → 投稿する!
        ↓
✅ On Time  /  😅 Late  /  💀 Missed
  • 1スプリント 1人1回しか通知を打てない → 「いつ打つか」の戦略性がカギ
  • 自分が投稿するまで他メンバーの内容がぼかされる → 投稿したくなる仕組み

主な機能

GitHub 自動連携

投稿時に GitHub API からコミット情報を自動取得。ほぼワンタップで今の開発状況を投稿できます。

自動取得項目 内容
Repository / Branch 最近コミットしたものを自動サジェスト
今日のコミット数 / 変更行数 その日の作業量を可視化
最新コミットメッセージ デフォルト表示・上書き可
Open PR / Assigned Issue GitHub から自動連携

フィード & リアクション

投稿カードにはコミット情報・写真・技術タグが表示されます。開発者向け絵文字リアクションでサクッとフィードバック!

👍 LGTM 👀 見てる 🌱 草 💪 強い 📝 レビュー待ち? 🚀 Mergeしろ

グループ & 自動参加

リポジトリを指定してグループを作ると、コラボレーターとして登録されている BeGit; ユーザーが自動でグループに参加。招待の手間なし!


システム構成

📱 iOSアプリ (SwiftUI)
        │ HTTPS
        ▼
[Cloudflare Workers]──────────── GitHub API
        │
[Workers Container (Go)]
        ├── GitHub Webhook → 署名検証 → FCM → APNs → iPhone
        ├── Cloudflare D1 (SQLite)
        └── Cloudflare R2 (写真)

技術スタック

レイヤー 技術
iOS アプリ Swift / SwiftUI (iOS 16+)
バックエンド Go (Cloudflare Workers Containers)
クラウド Cloudflare Workers
データベース Cloudflare D1 (SQLite 互換)
認証 GitHub OAuth 2.0
Push 通知 FCM (Firebase Cloud Messaging) → APNs
GitHub 連携 GitHub REST API v3 / Webhooks
ストレージ Cloudflare R2

実装状況

機能 状態
GitHub OAuth ログイン
グループ作成・自動参加
通知発行(1スプリント1人1回)
GitHub コミット情報の自動取得と投稿
写真添付(作業環境 / コード)
フィード(投稿前ぼかし → 投稿後解放)
リアクション / コメント
On Time / Late / Missed ステータス
プライバシー設定
PR / Issue 詳細連携 🔜 将来実装

セットアップ

初回セットアップ(git hooks)

make setup

これで git commit 時にパッケージ変更を検出し、Claude Code が自動で README を更新します(Claude Code インストール済みの場合のみ動作)。

必要な環境

  • Go 1.22+
  • Xcode 15+
  • Node.js 18+(wrangler CLI 用)
  • Cloudflare アカウント
  • GitHub OAuth App(作成はこちら
  • Firebase プロジェクト(FCM 用サービスアカウントキー)

バックエンド

git clone https://github.com/geekhackathon-vol3/BeGit.git
cd BeGit/backend

# wrangler CLI インストール
npm install -g wrangler

# ローカル用シークレットの設定
cp .dev.vars.example .dev.vars

.dev.vars に以下を記入してください:

GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
GITHUB_WEBHOOK_SECRET=your_webhook_secret
FIREBASE_SERVICE_ACCOUNT_JSON={"type":"service_account",...}
DB_ENCRYPTION_KEY=your_encryption_key
# 依存関係のインストール & ローカルサーバー起動
go mod download
wrangler dev

iOS アプリ

cd BeGit/ios/BeGit
open BeGit.xcodeproj

Xcode で以下を設定してください:

  1. Signing & Capabilities で自分の Apple Developer アカウントを選択
  2. Bundle Identifier を変更
  3. Config.xcconfig にバックエンドの URL を記入
  4. ⌘R でビルド & 実行

データベース

# マイグレーション実行
wrangler d1 migrations apply begit-db

ディレクトリ構成

BeGit/
├── ios/
│   └── BeGit/
│       ├── BeGit/          # ソースコード
│       │   ├── Views/          # SwiftUI 画面
│       │   ├── Models/         # データモデル
│       │   ├── ViewModels/     # ViewModel
│       │   └── Services/       # API クライアント・GitHub連携
│       └── BeGit.xcodeproj
├── backend/
│   ├── cmd/
│   │   └── server/         # エントリーポイント
│   ├── internal/
│   │   ├── handler/        # HTTPハンドラー
│   │   ├── service/        # ビジネスロジック
│   │   └── repository/     # DB アクセス
│   └── pkg/
│       ├── fcm/            # FCM クライアント
│       └── github/         # GitHub API クライアント
└── infra/
    ├── infra.md            # インフラ構成
    └── infra.mermaid       # 構成図ソース

チーム

メンバー 役割
Palm 鬼がかったSwifter👹
Ochitomo 天才frontend🌟
Riri GoGo💨Backend
Riochin パワー‼️infra‼️

技育CAMP ハッカソン2026 vol.3

BeGit; — 今、なに作ってる? 🌸

About

🏆 技育CAMPハッカソン 2026 vol.3 最優秀賞受賞 【BeGit;】

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages