Dependency Graph編集
NodeとしてItemを追加し、EdgeとしてDependencyを作成します。位置、状態、担当、根拠も更新できます。
Problem
大きなプロジェクトでは、意思決定、技術実装、契約、データ整備、検証結果が互いに依存します。 それらが表や口頭説明に散らばると、何が決まれば次へ進めるのか分からなくなります。
Features
NodeとしてItemを追加し、EdgeとしてDependencyを作成します。位置、状態、担当、根拠も更新できます。
起点Itemから依存元や影響先をたどり、カテゴリや強さで分析対象を絞れます。
特定Itemの周辺で循環依存を検出し、技術循環や意思決定デッドロックとして分類します。
相互依存グループ、独立候補、入出力Dependencyの多いItemを俯瞰できます。
Demo scenario
デモには、BI活用の価値仮説、投資判断、DWH刷新、標準BI、先行導入、価値検証が循環するサンプルを用意しています。 さらに、データカタログと品質監視の小さな技術循環、独立候補も確認できます。
Architecture
DDDを意識し、公開面をmodule.goとcontractに絞り、実装詳細をnested internalへ閉じ込めています。
Dependencyはfrom itemとto itemを持つ隣接リストとして保存し、外部キー、重複禁止、自己依存禁止をDB制約でも守ります。
Domain graphとReact FlowのNode/Edge表現を変換層で分離し、UI都合をAPIへ混ぜない設計にしています。
強連結成分をTarjan法で求め、相互依存グループを再現性のある分析結果として表示します。
DB制約とDomain/Application層の責務を分け、generated型がDomainへ漏れない境界を置いています。
分析結果は保存済みGraphを変更しないRead Model / UI projectionとして扱い、編集状態とは分離しています。
Tech stack
sqlc