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

最初のタスク

新規参加者が最初に取り組むべきタスクと、コードベースを理解するための方法です。

1. システム全体を理解する

推奨する読む順序

  1. システム概要 - 全体像を把握
  2. レイヤー構成 - アーキテクチャの構造
  3. 境界と責務 - 各コンポーネントの責務

コードベースを探索する

# プロジェクト構造を確認
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. ドキュメント修正: 誤字脱字、説明不足の補足
  2. テスト追加: 既存コードにテストを追加
  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-coreports.goserver-platformの実装
  • ドメインイベント: server-core/post/events.go
  • 依存注入: server-apps/gateway/cmd/main.goでのコンポーネント組み立て

5. 開発フローに慣れる

日常的な作業

  1. コード変更
  2. テスト実行: make go/test
  3. フォーマット: make go/fmt
  4. コミット: 適切なコミットメッセージ

Protocol Buffers変更の流れ

  1. .protoファイル編集
  2. make proto/lint - リントチェック
  3. make proto/gen - コード生成
  4. 生成コードをコミット

詳しくは開発ワークフローを参照してください。

次のステップ