From 3709fa4848c53ffc7fbc2f65f8886b4cdb47b6f4 Mon Sep 17 00:00:00 2001 From: Junki Mano Date: Tue, 3 Sep 2024 14:45:34 +0900 Subject: [PATCH] Add UI02 (#170) --- .../01_\347\224\273\351\235\242/UI01/UI01.md" | 20 ---- .../01_\347\224\273\351\235\242/UI02/UI02.md" | 101 +++++++++++++++--- .../docs/02_WebAPI/openapi.yaml | 66 +++++++++++- .../future_muscle_partner/docs/README.md | 4 +- 4 files changed, 154 insertions(+), 37 deletions(-) diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI01/UI01.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI01/UI01.md" index 66477b9d..abf8c0dd 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI01/UI01.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI01/UI01.md" @@ -25,26 +25,6 @@ ### 1. 初期表示 -起動パラメータ: - -| Name | Value | Memo | -| --- | --- | --- | -| userState | {/* 略 */} | xxx状態 | - -初期表示イベント: - -- xxx - -利用API: - -| ID | オプション | -| --- | --- | -| API031 | /v1/salesresult?q=xxxx&date=${current_ymd} | - -画面表示制御: - -xxx - ### 2. トレーナーを探す ### 3. 会員登録/ログイン diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI02/UI02.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI02/UI02.md" index 1defb8cf..c8187d1e 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI02/UI02.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UI02/UI02.md" @@ -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":""} | ログイン状態 | + +初期表示イベント: + +- マイページ表示 + +利用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)表示 diff --git a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml index d3ba51da..1e8b2e0b 100644 --- a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml +++ b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml @@ -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: トレーナーの検索結果を取得しました。 @@ -291,7 +327,7 @@ paths: post: tags: - booking - summary: API-013 トレーニング予約(仮登録) + summary: API-012 トレーニング予約(仮登録) operationId: bookTraining requestBody: required: true @@ -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': @@ -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: diff --git a/documents/forMarkdown/future_muscle_partner/docs/README.md b/documents/forMarkdown/future_muscle_partner/docs/README.md index 3e6c949b..42785615 100644 --- a/documents/forMarkdown/future_muscle_partner/docs/README.md +++ b/documents/forMarkdown/future_muscle_partner/docs/README.md @@ -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_帳票 # 業務、システム担当者向けのレポート