Skip to content

Commit 0123b70

Browse files
authored
Markdown設計書 (#176)
1 parent 89cd772 commit 0123b70

File tree

13 files changed

+296
-176
lines changed

13 files changed

+296
-176
lines changed

documents/forMarkdown/README.md

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,14 @@ Markdown に限った話では無いが、どういった内容を設計書に
2020

2121
本規約は以下の前提で作成されている
2222

23-
- チーム/プロジェクトが 3 ~ 30 名程度規模程度
23+
- チーム/プロジェクトが 3 ~ 10 名程度の規模
2424
- Git(GitHub, GitLab)で管理され、コードと設計書が同一リポジトリで管理される
2525
- システム開発で必要なアプリケーション開発
2626

2727
## フォルダ階層
2828

2929
リポジトリ直下に `docs` フォルダを作成し、その配下に設計ドキュメントとなる Markdown ファイルを配備する。
3030

31-
<!-- TODO 【相談】docsだと公開フォルダとみなされるかもなので、documentsとかにしたほうが良いか? -->
32-
3331
次はバックエンド、フロントエンド、インフラのコードをモノリポで管理している例である。
3432

3533
```sh
@@ -67,47 +65,56 @@ docs
6765

6866
## システム構成図
6967

70-
TODO 論理, 物理, etc.
68+
図は基本的に変更差分がGitと相性が良い、PlantUML(またはMermaid.js)で作成すること。
69+
70+
システム構成図などは上記では対応しにくいことが多いため、diagrams.net(draw.io)で作成する。
71+
72+
拡張子は以下のいずれかで作成する。
73+
74+
- `.drawio.png`
75+
- `.drawio.jpg`
76+
- `.drawio.svg`
7177

7278
## フロントエンド
7379

74-
- UI設計(Figma)
75-
- [](画面設計書.md)
80+
以下の方針を取る。
81+
82+
- Figmaを用いて、画面遷移、画面表示項目を定義する
83+
- Markdown設計書には、Figmaで判断可能な見た目の情報は記載しない
84+
- Markdown設計書には、Web APIの呼び出しやイベントの定義、パラメータの受け渡し、バリデーションロジックなどを定義する。
85+
86+
[サンプル設計書](future_muscle_partner)を参考にする。
7687

7788
## バックエンド
7889

7990
### テーブル定義書
8091

81-
A5ER
92+
[A5:SQL Mk-2](https://a5m2.mmatsubara.com/)を用い、`erd.a5er` という名称で管理する。
8293

83-
以下の情報の管理
94+
以下の情報の管理は `erd.a5er` で行えないため、別で定義する。
8495

8596
- 保持期限
8697
- 個人情報有無
8798

88-
パーティションなどはa5erで管理想定
89-
9099
### 区分値
91100

92-
TODO JSON/YAML で管理推奨など
101+
[区分値設計書](区分値設計書.md) を参考にする。
93102

94103
### Web API 設計書
95104

96-
API 定義書は OpenAPI.yaml で記載する
97-
98-
TODO 各エンドポイント毎のプログラム設計
105+
API 定義書は `openapi.yaml` で記載すること。
99106

100107
### プログラム設計書
101108

102-
TODO
109+
[プログラム設計書](プログラム設計書.md)を参考にする。
103110

104111
### I/F 定義書
105112

106113
I/F 定義書は、システム間の連携について定義と、その受信/配信処理の設計書です。
107114

108115
システム I/F は連携先の対向システムが存在するため、認識齟齬が無いように、どのようなプロトコル・項目であるかを定義する必要があります。
109116

110-
- [レイアウト](IF定義書.md)
117+
[IF定義書](IF定義書.md)を参考にする。
111118

112119
# Resources
113120

documents/forMarkdown/future_muscle_partner/docs/01_画面/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 画面
22

3-
* Figma URL: xxx
3+
* Figma URL: <準備中>
44

55
## 標準画面
66

@@ -15,7 +15,7 @@
1515

1616
| ID | 論理名 | 備考 |
1717
|--------------|----------|----|
18-
| [UIM01](UIM01) | xxx | |
19-
| [UIM02](UIM02) | xx | |
20-
| [UIM03](UIM03) | xx | |
21-
| [UIM04](UIM04) | xxx | |
18+
| [UIM01](UIM01) | ログイン | |
19+
| [UIM02](UIM02) | トレーナー検索 | |
20+
| [UIM03](UIM03) | カレンダー予約 | |
21+
| [UIM04](UIM04) | 決済 | |

documents/forMarkdown/future_muscle_partner/docs/01_画面/UIM01/README.md

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,35 @@
1313

1414
## イベント概要
1515

16-
| No | イベント名 | イベント分類 | 処理説明 |
17-
|----|-----------|--------|-------------------------------------|
18-
| 1 | 初期表示 | 初期表示 | xxxx |
19-
| 2 | xxx | ボタン押下 | xxx |
16+
| No | イベント名 | イベント分類 | 処理説明 |
17+
|----|--------|--------|------|
18+
| 1 | 初期表示 | 初期表示 | |
19+
| 2 | ログインする | ボタン押下 | |
20+
| 3 | 会員登録 | ボタン押下 | |
2021

2122
## イベント詳細
2223

2324
### 1. 初期表示
2425

25-
### 2. xxx
26+
モーダルを起動。初期パラメータは無し。
27+
28+
### 2. ログインする
29+
30+
利用API:
31+
32+
| ID | URL | Parameter |
33+
|--------|-------------|-------------|
34+
| API001 | POST /login | 入力フォームの値を取得 |
35+
36+
画面表示制御:
37+
38+
- HTTPステータスが400系
39+
- 「IDまたはパスワードが異なります」を表示
40+
- HTTPステータスが500系
41+
- メッセージID(MSG_BIZ_111)表示
42+
- HTTPステータスが200
43+
- [UIS02](../UIS02)に遷移
44+
45+
### 3. 会員登録
46+
47+
...

documents/forMarkdown/future_muscle_partner/docs/01_画面/UIM02/README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,24 @@
1515

1616
## イベント概要
1717

18-
| No | イベント名 | イベント分類 | 処理説明 |
19-
|----|-----------|--------|-------------------------------------|
20-
| 1 | 初期表示 | 初期表示 | xxxx |
21-
| 2 | 検索 | 検索ボタン押下 | xxx |
18+
| No | イベント名 | イベント分類 | 処理説明 |
19+
|----|-------|--------|------|
20+
| 1 | 初期表示 | 初期表示 | |
21+
| 2 | 検索 | ボタン押下 | |
2222

2323
## イベント詳細
2424

2525
### 1. 初期表示
2626

27+
モーダルを起動。初期パラメータは無し。
28+
2729
### 2. 検索
2830

2931
利用API:
3032

31-
| ID | URL | Parameter |
32-
| --- | --- | -- |
33-
| API-007 | GET /trainers | モーダルに指定された値をクエリパラメータに設定する |
33+
| ID | URL | Parameter |
34+
|--------|---------------|---------------------------|
35+
| API007 | GET /trainers | モーダルに指定された値をクエリパラメータに設定する |
3436

3537
画面表示制御:
3638

@@ -40,3 +42,5 @@
4042
- 「条件に一致するコーチは存在しませんでした」と表示する
4143
- HTTPステータスが200以外
4244
- メッセージID(MSG_BIZ_111)表示
45+
- HTTPステータスが200
46+
- [UIS03](../UIS03)に遷移

documents/forMarkdown/future_muscle_partner/docs/01_画面/UIM03/README.md

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,43 @@
1313

1414
## イベント概要
1515

16-
| No | イベント名 | イベント分類 | 処理説明 |
17-
|----|-----------|--------|-------------------------------------|
18-
| 1 | 初期表示 | 初期表示 | xxxx |
19-
| 2 | 日時設定 | カレンダーを選択 | xxx |
20-
| 3 | 日時指定 | 設定された日時で予約を指定する | xxx |
16+
| No | イベント名 | イベント分類 | 処理説明 |
17+
|----|-------|-----------------|-----------------------------------|
18+
| 1 | 初期表示 | 初期表示 | 指定されたトレーナーと、ログイン中のトレーニーのスケジュールを表示 |
19+
| 2 | 日時設定 | カレンダーを選択 | ドラッグ&ドロップで範囲指定 |
20+
| 3 | 日時指定 | 設定された日時で予約を指定する | |
2121

2222
## イベント詳細
2323

2424
### 1. 初期表示
2525

26+
起動パラメータ:
27+
28+
| Name | Value | Memo |
29+
|------------|-------------------------------|------|
30+
| trainer_id | {"trainer_id":"<trainer_id>"} | |
31+
| trainee_id | {"trainee_id":"<trainee_id>"} | |
32+
33+
利用API:
34+
35+
| ID | URL | Parameter |
36+
|--------|-------------------------------------|------------|
37+
| API011 | GET /trainers/{trainer_id}/schedule | 初期パラメータを設定 |
38+
| API013 | GET /bookings/{trainee_id} | 初期パラメータを設定 |
39+
40+
画面表示制御:
41+
42+
- API011
43+
- 0件の場合は何もしない
44+
- 1件以上存在した場合は、カレンダーには「ブロック」と表示する
45+
- API026
46+
- 0件の場合は何もしない
47+
- 1件以上存在した場合は、カレンダーに「予約あり」と表示する
48+
2649
### 2. 日時設定
2750

51+
選択された日付がカレンダーに追加される。
52+
2853
### 3. 日時指定
2954

30-
UIM04 を起動する。
55+
[UIM04](../UIM04) を起動する。

documents/forMarkdown/future_muscle_partner/docs/01_画面/UIM04/README.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,33 @@
1414

1515
## イベント概要
1616

17-
| No | イベント名 | イベント分類 | 処理説明 |
18-
|----|-----------|--------|-------------------------------------|
19-
| 1 | 初期表示 | 初期表示 | xxxx |
20-
| 2 | 日時指定に戻る | ボタン押下 | xxx |
21-
| 2 | 決済する | ボタン押下 | xxx |
17+
| No | イベント名 | イベント分類 | 処理説明 |
18+
|----|---------|--------|-----------|
19+
| 1 | 初期表示 | 初期表示 | |
20+
| 2 | 日時指定に戻る | ボタン押下 | UIM003に遷移 |
21+
| 2 | 決済する | ボタン押下 | |
2222

2323
## イベント詳細
2424

2525
### 1. 初期表示
2626

27+
起動パラメータ:
28+
29+
| Name | Value | Memo |
30+
|------------|-------------------------------|------|
31+
| trainer_id | {"trainer_id":"<trainer_id>"} | |
32+
| menu_id | {"menu_id":"<menu_id>"} | |
33+
34+
利用API:
35+
36+
| ID | URL | Parameter |
37+
|--------|---------------|---------------------------|
38+
| APIxxx | トレーニングメニュー取得 | 初期パラメータを設定 |
39+
2740
### 2. 日時指定に戻る
2841

42+
[UIM03](../UIM03)に遷移
43+
2944
### 3. 決済
45+
46+
...

documents/forMarkdown/future_muscle_partner/docs/01_画面/UIS01/README.md

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,39 @@
2323

2424
### 1. 初期表示
2525

26+
起動パラメータ:
27+
28+
| Name | Value | Memo |
29+
|-----------|-------------------------|--------|
30+
| userState | {"user_id":"<user_id>"} | ログイン状態 |
31+
32+
初期表示イベント:
33+
34+
- ログイン済み判定
35+
36+
利用API:
37+
38+
| ID | URL | Parameter |
39+
|---------|---------------------------|------------------------------|
40+
| API-005 | GET /profile/{trainee_id} | trainee_id=userState.user_id |
41+
42+
画面表示制御:
43+
44+
- HTTPステータスが500系
45+
- 何もしない(無視で良い)、初期表示のまま
46+
- HTTPステータスが400系
47+
- 未ログインとして、初期表示のまま
48+
- HTTPステータスが200
49+
- すでにログイン中と判断し、(画面表示制御1)へ
50+
51+
画面表示制御1:
52+
53+
- 「会員登録/ログイン」表示を、サムネイル画像(thumbnail_url)に書き換える
54+
2655
### 2. トレーナーを探す
2756

28-
UIM02 呼び出し
57+
[UIM002](../UIM02) 呼び出し
2958

3059
### 3. 会員登録/ログイン
3160

32-
UIM01 呼び出し
61+
[UIM001](../UI001) 呼び出し

documents/forMarkdown/future_muscle_partner/docs/01_画面/UIS02/README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626

2727
起動パラメータ:
2828

29-
| Name | Value | Memo |
30-
| --- | --- | --- |
29+
| Name | Value | Memo |
30+
|-----------|-------------------------|--------|
3131
| userState | {"user_id":"<user_id>"} | ログイン状態 |
3232

3333
初期表示イベント:
@@ -36,8 +36,8 @@
3636

3737
利用API:
3838

39-
| ID | URL | Parameter |
40-
| --- | --- | -- |
39+
| ID | URL | Parameter |
40+
|---------|---------------------------|------------------------------|
4141
| API-005 | GET /profile/{trainee_id} | trainee_id=userState.user_id |
4242

4343
画面表示制御:
@@ -49,20 +49,20 @@
4949

5050
利用API:
5151

52-
| ID | URL | Parameter |
53-
| --- | --- | -- |
54-
| API-013 | GET /bookings/{trainee_id} | trainee_id=userState.user_id |
52+
| ID | URL | Parameter |
53+
|--------|----------------------------|------------------------------|
54+
| API013 | GET /bookings/{trainee_id} | trainee_id=userState.user_id |
5555

5656
画面表示制御:
5757

5858
- 起動条件
59-
- API-016が有効な場合
59+
- API016が有効な場合
6060
- HTTPステータスが200以外
6161
- メッセージID(MSG_BIZ_111)表示
6262

6363
### 2. トレーナーを探す
6464

65-
UIM02 を起動。
65+
[UIM002](../UIM002) を起動。
6666

6767
### 3. 受講完了確認
6868

@@ -76,9 +76,9 @@ UIM02 を起動。
7676

7777
利用API:
7878

79-
| ID | URL | Parameter |
80-
| --- | --- | -- |
81-
| API-016 | PUT /booking/{booking_id}/status | 選択されたトレーニング予約ID |
79+
| ID | URL | Parameter |
80+
|---------|----------------------------------|-----------------|
81+
| API016 | PUT /booking/{booking_id}/status | 選択されたトレーニング予約ID |
8282

8383
画面表示制御:
8484

@@ -91,13 +91,13 @@ UIM02 を起動。
9191

9292
利用API:
9393

94-
| ID | URL | Parameter |
95-
| --- | --- | -- |
94+
| ID | URL | Parameter |
95+
|---------|----------------------------|------------------------------|
9696
| API-012 | GET /bookings/{trainee_id} | trainee_id=userState.user_id |
9797

9898
画面表示制御:
9999

100100
- 起動条件
101-
- API-016が有効な場合
101+
- API016が有効な場合
102102
- HTTPステータスが200以外
103103
- メッセージID(MSG_BIZ_111)表示

0 commit comments

Comments
 (0)