Backend·稼働中·2025: 進行中
b-hub
統合バックエンドハブ (8 domains · 40+ tables · 1,704+ tests)
散乱していたバックエンドを 1 つにまとめる決意をしました。 自身の名 Byun の「b」を取って b-hub と名付け、全 Toys の単一統合バックエンドの役割を果たしています。
技術スタック
制作の動機
保守が散らかっていました。各 Toys ごとにバックエンドを別々に作るのは N 倍の負担でした。 認証 / デプロイ / DB / 画像処理 / キャッシュを 1 箇所に集約することを決め、BBlog 移行時点 (2025) に同時計画を開始しました。
コメント
Toys 別の散乱を 1 箇所に統合しました。 mail ドメインと自前の Web メールクライアントで Outlook を代替し、毎回インストールしていたものを Web で処理しています。
主な特徴
- 01Bun on Vercel Functions + Hono 4 + @hono/zod-openapi (OpenAPI 3 + Swagger UI 自動)
- 028 ドメイン (blog · calendar · weather · mail · drive · spotify · resume · badge)、40+ テーブルにユーザー FK を一貫適用
- 033-tier ハイブリッドストレージ: R2 hot / Mac Studio middle (予定) / Google Drive cold、lifecycle cron で自動 promote / evict
- 04RFC 4791 CalDAV サーバを自前実装 (ctag · sync-token · ICS export · subscription token)
- 05Vercel サイドカー構成: caldav-proxy (DDoS bypass 用 PROPFIND/REPORT) + upload-server (4.5MB ペイロード制限回避)
- 06API Token 多層認証 (better-auth セッション / apiToken テーブル / ドメイン別 weatherApiKey、IoT 用クォータ分離)
備考
- ·BBlog · Calendar · ESP32 · 自前メールクライアントが b-hub に依存、Apple Calendar は標準 CalDAV で直接接続
- ·月 約 30$ の運用コスト (Vercel 単独 + 軽量 Docker サイドカー on Lightsail)
