メインコンテンツまでスキップ

Bazbii チームガイド

Bazbiiは位置情報ベースのソーシャルフィードアプリケーションです。 このガイドは、チームメンバー全体がビジョンを共有し、開発から運用・ビジネス戦略までを統合的に理解するための資料集です。

はじめる前に

新規参加者の方は、まずオンボーディングガイドをご確認ください。

ガイドの構成

このチームガイドは以下のような構成になっています:

プロジェクトの概要

技術スタック

  • バックエンド: Go 1.25, gRPC, Connect RPC, PostgreSQL
  • フロントエンド: TypeScript, Next.js, React Native (Expo)
  • インフラ: Docker, Kubernetes, Cloudflare, OpenTelemetry
  • プロトコル: Protocol Buffers (buf)

モノレポ構成

bazbii/
├── client-apps/ # クライアントアプリケーション
│ ├── user-mobile/ # エンドユーザー向けモバイルアプリ
│ ├── partner-web/ # パートナー向けWebアプリ
│ └── ops-web/ # 運用管理Webアプリ
├── server-apps/ # サーバーアプリケーション
│ ├── gateway/ # HTTP/JSON API Gateway (Connect RPC)
│ └── api/ # gRPC API Server
├── server-core/ # ドメインロジックとビジネスルール
├── server-platform/ # 横断的関心事の実装
├── packages/ # 共有パッケージ
│ ├── proto/ # Protocol Buffers定義
│ ├── i18n/ # 国際化
│ ├── themes/ # テーマシステム
│ └── ...
└── infra/ # インフラ設定

アーキテクチャの特徴

  • ポート/アダプタパターン: server-coreはインターフェースのみ定義、server-platformが実装
  • 依存方向の制御: client-apps → server-apps → server-core の一方向依存
  • 外部公開はGatewayのみ: Connect RPCでHTTP/JSONを提供、内部はgRPCで通信

用語集

  • H3: Uberが開発した地理空間インデックスシステム。六角形のセルで位置を表現
  • Actor: システム内の主体(ユーザー、パートナー、システム、ボット)
  • Post: 位置情報に紐づく投稿
  • ポート/アダプタ: ドメインロジック(ポート)と外部実装(アダプタ)を分離するパターン
  • Connect RPC: gRPC互換のHTTP/JSONプロトコル

クイックリンク

よく使うドキュメント