-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
237 lines (209 loc) · 4.83 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
import "./style.css";
import render from "@k2works/full-stack-lab";
const mindmap = `
@startmindmap
* 非機能要件
-- ユースケース
--- 実行履歴一覧
--- 実行履歴検索
--- 実行履歴詳細
--- データダウンロード
-- ドメインモデル
--- 実行履歴一覧
--- 実行履歴
--- ユーザー
--- 社員
-- データモデル
--- 実行履歴
--- ユーザー
** ユーザーインターフェース
*** ビュー
**** 実行履歴一覧
**** 実行履歴詳細
**** 実行履歴検索
**** ダウンロード
*** モデル
**** ナビゲーション
**** 実行履歴一覧
**** 実行履歴
**** 実行履歴検索
**** ダウンロード
*** インタラクション
**** ナビゲーション
**** 実行履歴一覧
**** 実行履歴
**** 実行履歴検索
**** ダウンロード
@endmindmap
`;
const contents = `
## 非機能要件
- 楽観ロックによる排他制御
- アプリケーション実行履歴
- アプリケーションデータのダウンロード
## TODOリスト
- [x] 楽観ロックによる排他制御
- [x] DBスキーマ変更
- [x] ロック処理の実装
- [x] アプリケーション実行履歴
- [x] API作成
- [x] UI作成
- [x] アプリケーションデータのダウンロード
- [x] API作成
- [x] UI作成
`;
const usecase = `
@startuml
left to right direction
actor "管理者" as admin
actor "ユーザー" as user
rectangle 非機能要件 {
rectangle アプリケーション実行履歴 {
(実行履歴一覧)
(実行履歴検索)
(実行履歴詳細)
}
rectangle アプリケーションデータのダウンロード {
(データダウンロード)
}
}
admin --> (実行履歴一覧)
admin --> (実行履歴検索)
admin --> (実行履歴詳細)
admin --> (データダウンロード)
user --> (実行履歴一覧)
user --> (実行履歴検索)
user --> (データダウンロード)
@enduml
`;
const uml = `
@startuml
class 実行履歴一覧
class 実行履歴
class ユーザー
class 社員
実行履歴一覧 *- 実行履歴
実行履歴 *-- ユーザー
ユーザー o- 社員
@enduml
`;
const erd = `
@startuml
entity 実行履歴 {
+ id [PK]
--
+ 実行日時
+ 実行内容
+ ユーザーid [FK]
}
entity ユーザー {
+ id [PK]
--
+ 名前
+ メールアドレス
}
実行履歴 ||--o{ ユーザー
@enduml
`;
const ui = `
@startsalt
{+
実行履歴画面(コレクション)
{+
{
ホーム
ユーザー
マスタ
ログアウト
} |
{
{
<b>実行履歴一覧</b>
[ 検索 ]
}
[ 一括削除 ]
---------------------
{
処理1 | user1 | [ 詳細 ] | [ 削除 ]
処理2 | user1 | [ 詳細 ] | [ 削除 ]
処理3 | user2 | [ 詳細 ] | [ 削除 ]
}
}
}
----------------
実行履歴画面(シングル)
{+
{
---------------------
処理名 | "1xxxxxx" "
開始 | "2021/01/01"
終了 | "9999/12/31"
実行者 | "user1 "
備考 | " "
}
}
----------------
実行履歴検索画面(シングル)
{+
{
[ 検索 ]
---------------------
^処理名^
^区分^
}
}
----------------
ダウンロード画面(シングル)
{+
{
[ 実行 ]
---------------------
^ダウンロード対象^ 機能 1^ 機能 2^
}
}
}
@endsalt
`;
const uiModel = `
@startuml
class 実行履歴一覧 {
検索()
一括削除()
詳細()
削除()
}
class 実行履歴 {
}
class 実行履歴検索 {
検索()
}
class ダウンロード {
実行()
}
class ナビゲーション {
ホーム()
マスタ()
ユーザー()
ログアウト()
}
ナビゲーション -* 実行履歴一覧
実行履歴一覧 *-- 実行履歴
実行履歴一覧 *- 実行履歴検索
ダウンロード *- ナビゲーション
@enduml
`;
const uiInteraction = `
@startuml
ログイン_シングル --> 実行履歴_コレクション
実行履歴_コレクション --> 実行履歴_シングル
実行履歴_シングル --> 実行履歴_コレクション
実行履歴_コレクション --> 実行履歴検索_シングル
実行履歴検索_シングル --> 実行履歴_コレクション
ログイン_シングル <-- 実行履歴_コレクション
ログイン_シングル --> ダウンロード_シングル
ダウンロード_シングル --> ログイン_シングル
ログイン_シングル <-- ダウンロード_シングル
@enduml
`;
const mode = "APP"; // "UI" or "API" or "DOC"
render({ mindmap, contents, ui, uiModel, uiInteraction, usecase, uml, erd, mode });