最初のタスク
新規参加者が最初に取り組むべきタスクと、コードベースを理解するための方法です。
1. システム全体を理解する
推奨する読む順序
コードベースを探索する
# プロジェクト構造を確認
tree -L 2 -I 'node_modules|.git'
# 主要なエントリーポイント
cat server-apps/gateway/cmd/main.go
cat server-apps/api/cmd/main.go
# ドメインモデル
cat server-core/post/entity.go
cat server-core/post/service.go
2. ローカル環境で動作確認
アプリケーション起動
# コンテナ起動
make compose/up
# ログ確認
make compose/logs
簡単なAPI呼び出し
# ヘルスチェック
curl http://localhost:3000/healthz
# タイムライン取得(データがあれば)
curl "http://localhost:3000/app/v1/timeline?center_h3=617700169958678527&limit=5"
3. 最初のコントリビューション
小さな変更から始める
推奨される最初のタスク:
- ドキュメント修正: 誤字脱字、説明不足の補足
- テスト追加: 既存コードにテストを追加
- リファクタリング: 小さな改善(変数名、コメント追加など)
初めての機能追加(例:エラーメッセージ改善)
# 1. ブランチ作成
git checkout -b fix/improve-error-message
# 2. コード編集
# server-core/post/service.go など
# 3. テスト実行
make go/test
# 4. フォーマット
make go/fmt
# 5. コミット
git add .
git commit -m "fix: improve error message in post service"
4. コードベースの探索
主要なディレクトリ
server-core/post/: 投稿ドメインの実装例server-platform/datastore/postgres/: データストア実装例server-apps/gateway/handlers/: APIハンドラー実装例packages/proto/bazbii/: Protocol Buffers定義
理解すべき主要な概念
- ポート/アダプタパターン:
server-coreのports.goとserver-platformの実装 - ドメインイベント:
server-core/post/events.go - 依存注入:
server-apps/gateway/cmd/main.goでのコンポーネント組み立て
5. 開発フローに慣れる
日常的な作業
- コード変更
- テスト実行:
make go/test - フォーマット:
make go/fmt - コミット: 適切なコミットメッセージ
Protocol Buffers変更の流れ
.protoファイル編集make proto/lint- リントチェックmake proto/gen- コード生成- 生成コードをコミット
詳しくは開発ワークフローを参照してください。