Skip to content

Commit

Permalink
Add UI02 (#170)
Browse files Browse the repository at this point in the history
  • Loading branch information
ma91n authored Sep 3, 2024
1 parent aee47b9 commit 3709fa4
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,6 @@

### 1. 初期表示

起動パラメータ:

| Name | Value | Memo |
| --- | --- | --- |
| userState | {/**/} | xxx状態 |

初期表示イベント:

- xxx

利用API:

| ID | オプション |
| --- | --- |
| API031 | /v1/salesresult?q=xxxx&date=${current_ymd} |

画面表示制御:

xxx

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

### 3. 会員登録/ログイン
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,109 @@

## イベント概要

| No | イベント名 | イベント分類 |     処理説明 |
|--- |-----------------------------------------|---------------|------------------------------------------------|
| 1 | 初期表示 | 初期表示 | 初期検索条件に従いAPIを実行し、履歴表示する |
| 2 | トレーナーを探す | ボタン押下 | パーソナルトレーナー検索モーダル起動 |
| 3 | トレーナー検索 | ボタン押下 | 入力された条件で検索 |
| 4 | 受講完了確認 | ボタン押下 | 予約済みトレーニングを受講完了に切り替えるためのモーダル起動 |
| 5 | 受講完了 | ボタン押下 | 予約済みトレーニングを完了済みのトレーニングに更新 |
| No | イベント名 | イベント分類 | 処理説明 |
|----|----------|--------|--------------------------------|
| 1 | 初期表示 | 初期表示 | 初期検索条件に従いAPIを実行し、履歴表示する |
| 2 | トレーナーを探す | ボタン押下 | パーソナルトレーナー検索モーダル起動 |
| 3 | トレーナー検索 | ボタン押下 | 入力された条件で検索 |
| 4 | 受講完了確認 | ボタン押下 | 予約済みトレーニングを受講完了に切り替えるためのモーダル起動 |
| 5 | 受講完了 | ボタン押下 | 予約済みトレーニングを完了済みのトレーニングに更新 |

## イベント詳細

### 1. 初期表示

xxx
起動パラメータ:

| Name | Value | Memo |
| --- | --- | --- |
| userState | {"user_id":"<user_id>"} | ログイン状態 |

初期表示イベント:

- マイページ表示

利用API:

| ID | URL | Parameter |
| --- | --- | -- |
| API-005 | GET /profile/{trainee_id} | trainee_id=userState.user_id |

画面表示制御:

- HTTPステータスが500系
- メッセージID(MSG_BIZ_111)表示
- HTTPステータスが400系
- トップページにリダイレクト

利用API:

| ID | URL | Parameter |
| --- | --- | -- |
| API-013 | GET /bookings/{trainee_id} | trainee_id=userState.user_id |

画面表示制御:

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

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

xxx
「パーソナルトレーナー検索モーダル」を起動する。

### 3. トレーナー検索

xxx
利用API:

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

画面表示制御:

- 入力チェック
- favorite_gym_name, store_nameが未設定の場合は、フロントエンド側でチェックし「行きつけのジム名・店舗名は必須項目です」と表示する
- 応答が0件の場合
- 「条件に一致するコーチは存在しませんでした」と表示する
- HTTPステータスが200以外
- メッセージID(MSG_BIZ_111)表示

### 3. 受講完了確認

xxx
`${トレーニングメニュー}` は完了しましたか?」ダイアログを表示する。

キャンセルの場合は閉じる。

### 3. 受講完了

xxx
`${トレーニングメニュー}` は完了しましたか?」ダイアログがOKの場合。

利用API:

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

画面表示制御:

- クリック可否判定
- 予約済み+現在時間<=受講時間になっている場合に、クリック可能とする
- HTTPステータスが200以外
- メッセージID(MSG_BIZ_111)表示
- HTTPステータスが200
- 次のAPIを呼び出し

利用API:

| ID | URL | Parameter |
| --- | --- | -- |
| API-012 | GET /bookings/{trainee_id} | trainee_id=userState.user_id |

画面表示制御:

- 起動条件
- API-016が有効な場合
- HTTPステータスが200以外
- メッセージID(MSG_BIZ_111)表示
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,42 @@ paths:
summary: API-007 パーソナルトレーナー検索
operationId: searchTrainers
security: []
parameters:
- name: favorite_gym_name
in: query
description: 行きつけのジム名
required: true
schema:
type: string
- name: store_name
in: query
description: 店舗名
required: true
schema:
type: string
- name: training_start_at
in: query
description: トレーニング開始
schema:
type: string
- name: training_end_at
in: query
description: トレーニング終了時間
schema:
type: string
- name: budget
in: query
description: 予算
schema:
type: number
format: integer
- name: training_menu_typ
in: query
description: トレーニングメニュー区分
schema:
type: number
format: integer
enum: [1, 2, 3]
responses:
'200':
description: トレーナーの検索結果を取得しました。
Expand Down Expand Up @@ -291,7 +327,7 @@ paths:
post:
tags:
- booking
summary: API-013 トレーニング予約(仮登録)
summary: API-012 トレーニング予約(仮登録)
operationId: bookTraining
requestBody:
required: true
Expand All @@ -318,15 +354,32 @@ paths:
get:
tags:
- booking
summary: API-012 予約済みトレーニング取得
summary: API-013 予約済みトレーニング取得
operationId: getBookings
parameters:
- name: trainee_id
in: path
description: トレーニーID
required: true
schema:
type: string
- name: start_at
in: query
description: 開始日時
schema:
type: string
- name: end_at
in: query
description: 終了日時
schema:
type: string
responses:
'200':
description: ユーザーの予約情報を取得しました。
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
$ref: '#/components/schemas/Bookings'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
Expand Down Expand Up @@ -741,6 +794,13 @@ components:
self_introduction:
type: string
description: 自己紹介
Bookings:
type: object
properties:
bokkings:
type: array
items:
$ref: '#/components/schemas/Booking'
Booking:
type: object
properties:
Expand Down
4 changes: 2 additions & 2 deletions documents/forMarkdown/future_muscle_partner/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
```sh
docs
├── 01_画面 # Figma、画面アクション
├── 02_WebAPI # api.yaml、API処理設計
├── 03_データ # ERD、区分値
├── 02_WebAPI # openapi.yaml、API処理設計
├── 03_データ # erd.a5er(ERD、区分値
├── 04_IF # I/F定義+受信/送信BL設計
├── 05_バッチ # タイマー、イベント起動の非同期処理のBL設計
├── 06_帳票 # 業務、システム担当者向けのレポート
Expand Down

0 comments on commit 3709fa4

Please sign in to comment.