{}FireSchema

FireSchema によるチームドキュメント

ライブでインタラクティブなスキーマドキュメントで開発者のオンボーディングを加速

すべての開発チームが同じ問題に直面します:新しい開発者が参加し、「データはどんな構造になっているの?」と尋ねますが、明確な答えを持つ人がいません。知識は Slack のスレッド、古くなった Notion ページ、またはシニア開発者の頭の中に散在しています。FireSchema は、Firestore スキーマを閲覧可能でバージョン管理された信頼できる唯一の情報源に変えることで、この問題を解決します。

ドキュメントの問題

ほとんどのチームは、以下のいずれかの方法でデータベース構造をドキュメント化しています:

結果として:オンボーディングの遅延、誤った前提によるバグの増加、同じ質問への回答に費やされる無駄な時間。

FireSchema を信頼できる唯一の情報源に

FireSchema ファイルはリポジトリ内のコードのすぐ隣に存在します。バージョン管理され、PR でレビュー可能で、開発ワークフローの一部であるため常に最新です — 別のドキュメントシステムではありません。

チームでの FireSchema の活用方法

開発者のオンボーディング

新しい開発者がチームに参加します。2時間のデータモデル説明会をスケジュールする代わりに、FireSchema ドキュメントを案内します。すべてのコレクションを探索し、フィールドの型と説明を確認し、サブコレクションの関係を理解し、バリデーションルールをレビューできます — 自分のペースで閲覧できるインタラクティブな UI で。

機能の計画

新しい機能を構築する前に、チームは関連するスキーマをレビューします。「orders コレクションにはどんなフィールドがある? status の enum は? createdAt は必須?」コードを掘り下げる代わりに、全員がスキーマドキュメントを開き、計画の議論に同じ参照点を持ちます。

コードレビュー

PR が Firestore コレクションに新しいフィールドを追加します。レビュアーは対応するスキーマの更新を確認します:フィールドの型は正しいか?ドキュメント化されているか?説明は適切か?スキーマの変更がレビューチェックリストの一部となり、ドキュメント化されていない変更がすり抜けるのを防ぎます。

実際のワークフロー:新しいコレクションの追加

FireSchema を使用したチームワークフローは次のようになります:

1. スキーマファイルを作成する

開発者がコレクション構造を記述する新しい .schema.json ファイルを作成します:

schemas/notifications.schema.jsonJSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "collection": "notifications",
  "description": "User notification preferences and history",
  "schema": {
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "Reference to the user document"
      },
      "type": {
        "type": "string",
        "enum": ["email", "push", "sms"],
        "description": "Notification channel"
      },
      "enabled": {
        "type": "boolean",
        "description": "Whether this notification type is active"
      }
    },
    "required": ["userId", "type", "enabled"]
  }
}

2. スキーマとコードを含む PR を提出する

スキーマファイルは機能コードとともにコミットされます。レビュアーは同じ PR で実装とドキュメントの両方を確認できます。

3. スキーマドキュメントが自動的に更新される

マージされると、ホストされた FireSchema ビューアが新しいファイルを自動的に検出します。手動でのドキュメント更新は不要です。

チームへのメリット

オンボーディングの高速化

新しい開発者が数週間ではなく数時間でデータモデルを理解できます。インタラクティブなドキュメントで自分のペースで探索できます。

バグの削減

全員が期待されるフィールド型、enum、必須フィールドを知っていれば、誤った前提が本番環境に入る可能性が減ります。

コミュニケーションの改善

プロダクト、バックエンド、フロントエンドチームが同じデータリファレンスを共有します。「スキーマを確認して」が標準的な回答になります。

監査証跡

スキーマは git に存在するため、コミット履歴を通じて、どのコレクションがいつ、誰によって、なぜ変更されたかを確認できます。

実際の成果

12人のエンジニアリングチームが、24のコレクションを持つ Firestore ベースのアプリケーションに FireSchema を導入しました。3ヶ月後の結果:

  • -オンボーディング期間が2週間から3日に短縮
  • -データ関連のバグが40%減少
  • -「このフィールドはどういう意味?」という Slack メッセージが60%減少
  • -関連する PR の100%でスキーマ変更が含まれるように

チームでの導入方法

チームへの FireSchema のセットアップは5分で完了します:

  1. 1Follow the Quick Start guide to create your first schema files
  2. 2リポジトリに schemas/ フォルダを追加
  3. 3チームの社内ドキュメントにビューアをデプロイ(Vercel、GitHub Pages、または任意の静的ホスト)
  4. 4PR チェックリストにスキーマの更新を追加

次のステップ

FireSchema を試す

クイックスタートガイド