yodogawa 2.1.3 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +134 -94
- package/LICENSE +1 -1
- package/README.md +351 -263
- package/bin/checks/id-trace.js +137 -0
- package/bin/checks/links.js +59 -0
- package/bin/checks/placeholder.js +132 -0
- package/bin/checks/structure.js +127 -0
- package/bin/cli.js +51 -67
- package/bin/commands/doctor.js +128 -0
- package/bin/commands/install.js +58 -0
- package/bin/commands/new-task.js +117 -0
- package/bin/lib/check-cli.js +19 -0
- package/bin/lib/findings.js +31 -0
- package/bin/lib/markdown.js +103 -0
- package/bin/lib/project-spec.js +138 -0
- package/bin/lib/walk-md.js +23 -0
- package/package.json +68 -55
- package/skills/a-001-setup-doc-structure/SKILL.md +68 -68
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -75
- package/skills/a-002-initialize-project/SKILL.md +145 -118
- package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
- package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
- package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
- package/skills/a-002b-define-user-stories/SKILL.md +80 -0
- package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
- package/skills/a-003-create-scenarios/SKILL.md +97 -96
- package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
- package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
- package/skills/a-004-define-domain-model/SKILL.md +107 -98
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
- package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
- package/skills/a-006-review-requirements-domain/SKILL.md +59 -22
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +27 -7
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +53 -18
- package/skills/a-007-define-tech-stack/SKILL.md +99 -99
- package/skills/a-008-define-repository-structure/SKILL.md +96 -96
- package/skills/a-009-define-screen-design/SKILL.md +103 -103
- package/skills/a-010-define-design-system/SKILL.md +130 -130
- package/skills/a-011-define-data-model/SKILL.md +118 -118
- package/skills/a-012-define-api-spec/SKILL.md +105 -105
- package/skills/a-013-define-architecture/SKILL.md +98 -98
- package/skills/a-014-define-infrastructure/SKILL.md +118 -110
- package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
- package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
- package/skills/a-015-review-design/reference/consistency-checks.md +1 -1
- package/skills/b-001-create-task-directory/SKILL.md +68 -68
- package/skills/b-002-create-task-definition/SKILL.md +114 -114
- package/skills/b-003-create-task-research/SKILL.md +128 -128
- package/skills/b-004-create-task-implementation/SKILL.md +98 -98
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -79
- package/skills/c-001-implement-task/SKILL.md +186 -186
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -65
- package/skills/c-002-update-documentation/SKILL.md +159 -159
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +4 -4
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +99 -97
- package/templates/project/01-requirements/01-product-brief.md +186 -0
- package/templates/project/01-requirements/02-mvp-scope.md +64 -0
- package/templates/project/01-requirements/03-parking-lot.md +29 -0
- package/templates/project/01-requirements/05-user-stories.md +28 -124
- package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
- package/templates/project/02-behavior/01-core-scenarios.md +80 -0
- package/templates/project/03-domain/01-domain-model.md +120 -339
- package/templates/project/03-domain/01-domain-sketch.md +90 -0
- package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
- package/templates/project/04-design/01-tech-stack.md +367 -367
- package/templates/project/04-design/02-repository-structure.md +391 -391
- package/templates/project/04-design/03-screen-design.md +596 -596
- package/templates/project/04-design/04-design-system.md +261 -261
- package/templates/project/04-design/05-data-model.md +211 -211
- package/templates/project/04-design/06-api-spec.md +226 -226
- package/templates/project/04-design/07-architecture.md +183 -183
- package/templates/project/04-design/08-infrastructure.md +180 -180
- package/templates/project/AI_CONTEXT.md +55 -0
- package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
- package/templates/tasks/task-template/a-definition.md +143 -143
- package/templates/tasks/task-template/b-research.md +185 -185
- package/templates/tasks/task-template/c-implementation.md +200 -200
- package/templates/project/01-requirements/01-system-overview.md +0 -49
- package/templates/project/01-requirements/03-features-planned.md +0 -75
|
@@ -1,183 +1,183 @@
|
|
|
1
|
-
# アーキテクチャ設計
|
|
2
|
-
|
|
3
|
-
<!--
|
|
4
|
-
何を書くか: システム全体の構造、採用アーキテクチャパターン、重要な設計決定(ADR)
|
|
5
|
-
|
|
6
|
-
目的:
|
|
7
|
-
- システム全体の見通しを向上
|
|
8
|
-
- コンポーネント間の関係を明確化
|
|
9
|
-
- アーキテクチャ決定の記録と共有
|
|
10
|
-
|
|
11
|
-
重要性:
|
|
12
|
-
- 高レベルなアーキテクチャの全体像を把握
|
|
13
|
-
- 詳細な実装仕様(スペック、パフォーマンス数値)はコードとインフラコードで管理
|
|
14
|
-
|
|
15
|
-
記載のポイント:
|
|
16
|
-
- システムアーキテクチャ図で視覚的に表現
|
|
17
|
-
- 採用したアーキテクチャパターンとその理由
|
|
18
|
-
- 重要な技術的決定事項(ADR)
|
|
19
|
-
|
|
20
|
-
更新頻度:
|
|
21
|
-
- プロジェクト初期にアーキテクチャ設計を作成
|
|
22
|
-
- アーキテクチャ変更時に更新
|
|
23
|
-
- 重要な技術的決定時に ADR を追加
|
|
24
|
-
-->
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## システムアーキテクチャ図
|
|
29
|
-
|
|
30
|
-
<!--
|
|
31
|
-
Mermaid を使用してシステム全体の構造を可視化
|
|
32
|
-
|
|
33
|
-
記載のベストプラクティス:
|
|
34
|
-
1. 主要なコンポーネントとその関係を記載
|
|
35
|
-
2. データフローを矢印で表現
|
|
36
|
-
3. 外部システムとの連携も記載
|
|
37
|
-
4. レイヤーごとに色分けまたはグループ化
|
|
38
|
-
5. 複雑な場合は複数の図に分割(全体図、詳細図)
|
|
39
|
-
|
|
40
|
-
よくあるコンポーネント:
|
|
41
|
-
- クライアント層: Webブラウザ、モバイルアプリ
|
|
42
|
-
- プレゼンテーション層: フロントエンド(React, Vue)
|
|
43
|
-
- API層: REST API, GraphQL
|
|
44
|
-
- ビジネスロジック層: サービス、ドメインモデル
|
|
45
|
-
- データアクセス層: ORM、リポジトリ
|
|
46
|
-
- データストア層: RDBMS, NoSQL, キャッシュ
|
|
47
|
-
- 外部サービス: 決済API、メール送信、認証サービス
|
|
48
|
-
- インフラ: ロードバランサー、CDN、キューシステム
|
|
49
|
-
|
|
50
|
-
Mermaid の記法:
|
|
51
|
-
- graph TD: 上から下へのフロー
|
|
52
|
-
- graph LR: 左から右へのフロー
|
|
53
|
-
- subgraph でグループ化
|
|
54
|
-
- []: 四角、(): 丸角四角、{}: ひし形、[()]: スタジアム型、[[]]: サブルーチン、[()]: 円柱
|
|
55
|
-
-->
|
|
56
|
-
|
|
57
|
-
```mermaid
|
|
58
|
-
graph TB
|
|
59
|
-
subgraph "クライアント層"
|
|
60
|
-
Web[Webブラウザ]
|
|
61
|
-
Mobile[モバイルアプリ]
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
subgraph "CDN層"
|
|
65
|
-
CDN[CloudFront CDN]
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
subgraph "ロードバランシング層"
|
|
69
|
-
LB[Application Load Balancer]
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
subgraph "アプリケーション層"
|
|
73
|
-
API1[APIサーバー 1<br/>Node.js + Express]
|
|
74
|
-
API2[APIサーバー 2<br/>Node.js + Express]
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
subgraph "キャッシュ層"
|
|
78
|
-
Cache[(Redis)]
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
subgraph "データ層"
|
|
82
|
-
DB[(PostgreSQL<br/>Primary)]
|
|
83
|
-
DBRead[(PostgreSQL<br/>Read Replica)]
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
subgraph "外部サービス"
|
|
87
|
-
Auth[認証サービス<br/>Auth0]
|
|
88
|
-
Payment[決済サービス<br/>Stripe]
|
|
89
|
-
Email[メール送信<br/>SendGrid]
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
subgraph "ストレージ"
|
|
93
|
-
S3[Object Storage<br/>Amazon S3]
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
Web --> CDN
|
|
97
|
-
Mobile --> CDN
|
|
98
|
-
CDN --> LB
|
|
99
|
-
LB --> API1
|
|
100
|
-
LB --> API2
|
|
101
|
-
|
|
102
|
-
API1 --> Cache
|
|
103
|
-
API2 --> Cache
|
|
104
|
-
API1 --> DB
|
|
105
|
-
API2 --> DB
|
|
106
|
-
API1 --> DBRead
|
|
107
|
-
API2 --> DBRead
|
|
108
|
-
|
|
109
|
-
API1 --> Auth
|
|
110
|
-
API2 --> Auth
|
|
111
|
-
API1 --> Payment
|
|
112
|
-
API2 --> Payment
|
|
113
|
-
API1 --> Email
|
|
114
|
-
API2 --> Email
|
|
115
|
-
|
|
116
|
-
API1 --> S3
|
|
117
|
-
API2 --> S3
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
**補足**:
|
|
121
|
-
<!-- 例:
|
|
122
|
-
- クライアントからのリクエストは CDN を経由してキャッシュ可能な静的コンテンツを配信
|
|
123
|
-
- API層は水平スケール可能(オートスケーリング)
|
|
124
|
-
- データベースは Primary/Replica 構成で読み取り負荷を分散
|
|
125
|
-
- Redis でセッション管理とキャッシュを実現
|
|
126
|
-
- 外部サービスとの連携は API Gateway 経由で統一
|
|
127
|
-
-->
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## 採用アーキテクチャパターン
|
|
132
|
-
|
|
133
|
-
<!--
|
|
134
|
-
採用したアーキテクチャパターンとその理由を簡潔に記載
|
|
135
|
-
|
|
136
|
-
よくあるアーキテクチャパターン:
|
|
137
|
-
- Layered Architecture: プレゼンテーション層 → ビジネスロジック層 → データアクセス層
|
|
138
|
-
- Clean Architecture: ドメイン中心、依存性逆転
|
|
139
|
-
- Microservices: サービスごとに独立したデプロイ
|
|
140
|
-
- Event-Driven: 非同期処理、疎結合
|
|
141
|
-
|
|
142
|
-
記載すべき内容:
|
|
143
|
-
- 採用パターン名
|
|
144
|
-
- 選定理由(なぜこのパターンが適しているか)
|
|
145
|
-
- 適用範囲
|
|
146
|
-
-->
|
|
147
|
-
|
|
148
|
-
| 項目 | 内容 |
|
|
149
|
-
|------|------|
|
|
150
|
-
| **採用パターン** | <!-- 例: Layered Architecture(レイヤードアーキテクチャ) --> |
|
|
151
|
-
| **選定理由** | <!-- 例: チームサイズが小規模なため、シンプルで運用コストの低いアーキテクチャを選択 --> |
|
|
152
|
-
| **適用範囲** | <!-- 例: バックエンド全体 --> |
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## ADR(Architecture Decision Record)
|
|
157
|
-
|
|
158
|
-
<!--
|
|
159
|
-
重要なアーキテクチャ決定を記録
|
|
160
|
-
|
|
161
|
-
ADR とは:
|
|
162
|
-
- アーキテクチャに関する重要な決定を記録
|
|
163
|
-
- 「なぜその決定をしたか」の背景を残す
|
|
164
|
-
- 将来的な見直しや移行の判断材料
|
|
165
|
-
|
|
166
|
-
記載すべき内容:
|
|
167
|
-
- 決定事項: 何を決めたか
|
|
168
|
-
- 背景: なぜその決定が必要だったか
|
|
169
|
-
- 代替案: 他の選択肢
|
|
170
|
-
- 影響: その決定による影響
|
|
171
|
-
- 決定日: いつ決定したか
|
|
172
|
-
|
|
173
|
-
よくある決定事項:
|
|
174
|
-
- データベースの選択
|
|
175
|
-
- キャッシュ戦略
|
|
176
|
-
- 認証方式
|
|
177
|
-
- デプロイ戦略
|
|
178
|
-
-->
|
|
179
|
-
|
|
180
|
-
| 決定事項 | 背景 | 代替案 | 影響 | 決定日 |
|
|
181
|
-
|---------|------|--------|------|--------|
|
|
182
|
-
| <!-- 例: PostgreSQL を採用 --> | <!-- 例: ACID準拠のトランザクションが必要 --> | <!-- 例: MySQL, MongoDB --> | <!-- 例: データ整合性が高い --> | <!-- 例: 2024-01-05 --> |
|
|
183
|
-
| <!-- 例: Redis をセッション管理に使用 --> | <!-- 例: ステートレスな API サーバーを実現 --> | <!-- 例: DB保存, JWT のみ --> | <!-- 例: セッション管理が高速 --> | <!-- 例: 2024-01-10 --> |
|
|
1
|
+
# アーキテクチャ設計
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
何を書くか: システム全体の構造、採用アーキテクチャパターン、重要な設計決定(ADR)
|
|
5
|
+
|
|
6
|
+
目的:
|
|
7
|
+
- システム全体の見通しを向上
|
|
8
|
+
- コンポーネント間の関係を明確化
|
|
9
|
+
- アーキテクチャ決定の記録と共有
|
|
10
|
+
|
|
11
|
+
重要性:
|
|
12
|
+
- 高レベルなアーキテクチャの全体像を把握
|
|
13
|
+
- 詳細な実装仕様(スペック、パフォーマンス数値)はコードとインフラコードで管理
|
|
14
|
+
|
|
15
|
+
記載のポイント:
|
|
16
|
+
- システムアーキテクチャ図で視覚的に表現
|
|
17
|
+
- 採用したアーキテクチャパターンとその理由
|
|
18
|
+
- 重要な技術的決定事項(ADR)
|
|
19
|
+
|
|
20
|
+
更新頻度:
|
|
21
|
+
- プロジェクト初期にアーキテクチャ設計を作成
|
|
22
|
+
- アーキテクチャ変更時に更新
|
|
23
|
+
- 重要な技術的決定時に ADR を追加
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## システムアーキテクチャ図
|
|
29
|
+
|
|
30
|
+
<!--
|
|
31
|
+
Mermaid を使用してシステム全体の構造を可視化
|
|
32
|
+
|
|
33
|
+
記載のベストプラクティス:
|
|
34
|
+
1. 主要なコンポーネントとその関係を記載
|
|
35
|
+
2. データフローを矢印で表現
|
|
36
|
+
3. 外部システムとの連携も記載
|
|
37
|
+
4. レイヤーごとに色分けまたはグループ化
|
|
38
|
+
5. 複雑な場合は複数の図に分割(全体図、詳細図)
|
|
39
|
+
|
|
40
|
+
よくあるコンポーネント:
|
|
41
|
+
- クライアント層: Webブラウザ、モバイルアプリ
|
|
42
|
+
- プレゼンテーション層: フロントエンド(React, Vue)
|
|
43
|
+
- API層: REST API, GraphQL
|
|
44
|
+
- ビジネスロジック層: サービス、ドメインモデル
|
|
45
|
+
- データアクセス層: ORM、リポジトリ
|
|
46
|
+
- データストア層: RDBMS, NoSQL, キャッシュ
|
|
47
|
+
- 外部サービス: 決済API、メール送信、認証サービス
|
|
48
|
+
- インフラ: ロードバランサー、CDN、キューシステム
|
|
49
|
+
|
|
50
|
+
Mermaid の記法:
|
|
51
|
+
- graph TD: 上から下へのフロー
|
|
52
|
+
- graph LR: 左から右へのフロー
|
|
53
|
+
- subgraph でグループ化
|
|
54
|
+
- []: 四角、(): 丸角四角、{}: ひし形、[()]: スタジアム型、[[]]: サブルーチン、[()]: 円柱
|
|
55
|
+
-->
|
|
56
|
+
|
|
57
|
+
```mermaid
|
|
58
|
+
graph TB
|
|
59
|
+
subgraph "クライアント層"
|
|
60
|
+
Web[Webブラウザ]
|
|
61
|
+
Mobile[モバイルアプリ]
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
subgraph "CDN層"
|
|
65
|
+
CDN[CloudFront CDN]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
subgraph "ロードバランシング層"
|
|
69
|
+
LB[Application Load Balancer]
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
subgraph "アプリケーション層"
|
|
73
|
+
API1[APIサーバー 1<br/>Node.js + Express]
|
|
74
|
+
API2[APIサーバー 2<br/>Node.js + Express]
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
subgraph "キャッシュ層"
|
|
78
|
+
Cache[(Redis)]
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
subgraph "データ層"
|
|
82
|
+
DB[(PostgreSQL<br/>Primary)]
|
|
83
|
+
DBRead[(PostgreSQL<br/>Read Replica)]
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
subgraph "外部サービス"
|
|
87
|
+
Auth[認証サービス<br/>Auth0]
|
|
88
|
+
Payment[決済サービス<br/>Stripe]
|
|
89
|
+
Email[メール送信<br/>SendGrid]
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
subgraph "ストレージ"
|
|
93
|
+
S3[Object Storage<br/>Amazon S3]
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
Web --> CDN
|
|
97
|
+
Mobile --> CDN
|
|
98
|
+
CDN --> LB
|
|
99
|
+
LB --> API1
|
|
100
|
+
LB --> API2
|
|
101
|
+
|
|
102
|
+
API1 --> Cache
|
|
103
|
+
API2 --> Cache
|
|
104
|
+
API1 --> DB
|
|
105
|
+
API2 --> DB
|
|
106
|
+
API1 --> DBRead
|
|
107
|
+
API2 --> DBRead
|
|
108
|
+
|
|
109
|
+
API1 --> Auth
|
|
110
|
+
API2 --> Auth
|
|
111
|
+
API1 --> Payment
|
|
112
|
+
API2 --> Payment
|
|
113
|
+
API1 --> Email
|
|
114
|
+
API2 --> Email
|
|
115
|
+
|
|
116
|
+
API1 --> S3
|
|
117
|
+
API2 --> S3
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**補足**:
|
|
121
|
+
<!-- 例:
|
|
122
|
+
- クライアントからのリクエストは CDN を経由してキャッシュ可能な静的コンテンツを配信
|
|
123
|
+
- API層は水平スケール可能(オートスケーリング)
|
|
124
|
+
- データベースは Primary/Replica 構成で読み取り負荷を分散
|
|
125
|
+
- Redis でセッション管理とキャッシュを実現
|
|
126
|
+
- 外部サービスとの連携は API Gateway 経由で統一
|
|
127
|
+
-->
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 採用アーキテクチャパターン
|
|
132
|
+
|
|
133
|
+
<!--
|
|
134
|
+
採用したアーキテクチャパターンとその理由を簡潔に記載
|
|
135
|
+
|
|
136
|
+
よくあるアーキテクチャパターン:
|
|
137
|
+
- Layered Architecture: プレゼンテーション層 → ビジネスロジック層 → データアクセス層
|
|
138
|
+
- Clean Architecture: ドメイン中心、依存性逆転
|
|
139
|
+
- Microservices: サービスごとに独立したデプロイ
|
|
140
|
+
- Event-Driven: 非同期処理、疎結合
|
|
141
|
+
|
|
142
|
+
記載すべき内容:
|
|
143
|
+
- 採用パターン名
|
|
144
|
+
- 選定理由(なぜこのパターンが適しているか)
|
|
145
|
+
- 適用範囲
|
|
146
|
+
-->
|
|
147
|
+
|
|
148
|
+
| 項目 | 内容 |
|
|
149
|
+
|------|------|
|
|
150
|
+
| **採用パターン** | <!-- 例: Layered Architecture(レイヤードアーキテクチャ) --> |
|
|
151
|
+
| **選定理由** | <!-- 例: チームサイズが小規模なため、シンプルで運用コストの低いアーキテクチャを選択 --> |
|
|
152
|
+
| **適用範囲** | <!-- 例: バックエンド全体 --> |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## ADR(Architecture Decision Record)
|
|
157
|
+
|
|
158
|
+
<!--
|
|
159
|
+
重要なアーキテクチャ決定を記録
|
|
160
|
+
|
|
161
|
+
ADR とは:
|
|
162
|
+
- アーキテクチャに関する重要な決定を記録
|
|
163
|
+
- 「なぜその決定をしたか」の背景を残す
|
|
164
|
+
- 将来的な見直しや移行の判断材料
|
|
165
|
+
|
|
166
|
+
記載すべき内容:
|
|
167
|
+
- 決定事項: 何を決めたか
|
|
168
|
+
- 背景: なぜその決定が必要だったか
|
|
169
|
+
- 代替案: 他の選択肢
|
|
170
|
+
- 影響: その決定による影響
|
|
171
|
+
- 決定日: いつ決定したか
|
|
172
|
+
|
|
173
|
+
よくある決定事項:
|
|
174
|
+
- データベースの選択
|
|
175
|
+
- キャッシュ戦略
|
|
176
|
+
- 認証方式
|
|
177
|
+
- デプロイ戦略
|
|
178
|
+
-->
|
|
179
|
+
|
|
180
|
+
| 決定事項 | 背景 | 代替案 | 影響 | 決定日 |
|
|
181
|
+
|---------|------|--------|------|--------|
|
|
182
|
+
| <!-- 例: PostgreSQL を採用 --> | <!-- 例: ACID準拠のトランザクションが必要 --> | <!-- 例: MySQL, MongoDB --> | <!-- 例: データ整合性が高い --> | <!-- 例: 2024-01-05 --> |
|
|
183
|
+
| <!-- 例: Redis をセッション管理に使用 --> | <!-- 例: ステートレスな API サーバーを実現 --> | <!-- 例: DB保存, JWT のみ --> | <!-- 例: セッション管理が高速 --> | <!-- 例: 2024-01-10 --> |
|