| # | タスク | 領域 | API | アプリ | 備考 |
|---|---|---|---|---|---|
| Phase 1: 基盤 + CRUD | |||||
| 1 | DBマイグレーション + エンティティ定義 | API | 1d | - | 4テーブル: vod_playlists, vod_playlist_items, favorite_vod_playlists, vod_playlist_play_results |
| 2 | プレイリストCRUD API(作成/編集/削除/単体取得) | API | 3〜4d | - | バリデーション、認可、編集時の全置換ロジック |
| 3 | マイプレイリスト一覧 API | API | 1d | - | 自作PL + お気に入りPLを統合返却 |
| 4 | プレイリスト作成/編集画面 | APP | - | 5〜6d | 画面グループC。カテゴリ別レッスン選択、サムネイル選択、フォーム入力。最多画面数 |
| 5 | マイプレイリスト管理画面 | APP | - | 2〜3d | 画面グループB。一覧、編集/削除モーダル、追加画面 |
| Phase 2: ソーシャル + 一覧 | |||||
| 6 | お気に入り登録/解除 API | API | 1d | - | 重複防止、自己登録防止バリデーション含む |
| 7 | プレイリスト一覧/詳細画面 | APP | - | 3〜4d | 画面グループA。一覧グリッド、詳細画面、追加モーダル |
| 8 | VOD詳細からのPL追加 | APP | - | 1〜2d | 画面グループE。既存モーダル拡張 |
| 9 | HOME画面へのPLセクション追加 | APP | - | 1d | PLAYLIST/MY PLAYLISTの横スクロールカード。既存FAVORITEのレイアウト流用 |
| Phase 3: 検索 + 人気順 | |||||
| 10 | プレイリスト検索 API | API | 3〜4d | - | キーワード検索、人気順/新着順、ページネーション |
| 11 | 人気順スコア集計ロジック | API | 2〜3d | - | 連続再生ポイント加算式、直近7日間集計。バッチ or リアルタイムの方針決め含む |
| Phase 4: 再生フロー | |||||
| 12 | 再生結果記録 API | API | 1d | - | user_lesson_historyとの連携 |
| 13 | プレイリスト再生画面 | APP | - | 4〜6d | 画面グループD。連続再生ロジック、カウントダウンタイマー、STOP/START、GREAT WORKOUT画面 |
| Phase 5: テスト + 結合 | |||||
| 14 | E2Eテスト(API) | API | 2d | - | YAMLベースE2Eテスト |
| 15 | 結合テスト + バグ修正 | API+APP | 3〜5d | API-アプリ間の結合、レビュー指摘反映、エッジケース修正 | |
| 合計 | 14〜18d | 16〜22d | + 結合 3〜5d | ||
API: マイグレーション、エンティティ定義、プレイリストCRUD 4本(作成/編集/削除/単体取得)、マイPL一覧API。ここでAPI基盤が固まる。
アプリ: 画面数最多のプレイリスト作成/編集フロー(8画面)+ マイPL管理画面(4画面)を先行着手。APIのモック or ローカルデータで画面開発を進められる。
API: お気に入り登録/解除API。Phase 1のCRUD APIと結合確認。
アプリ: プレイリスト一覧/詳細画面(4画面)、VOD詳細からのPL追加(4画面)、HOME画面へのセクション追加。Phase 1で完成したAPIと接続開始。
API: 最も複雑なパート。検索API(ページネーション/フィルタ/ソート)+人気順スコア集計ロジック。
アプリ: Phase 2の画面実装を継続しつつ、検索UIとの接続準備。
前提: ⑩虫眼鏡の検索仕様がこの時点で確定していること。
API: 再生結果記録API(1d)。比較的軽い。
アプリ: プレイリスト再生フロー(8画面)。既存VOD再生画面の拡張だが、連続再生ロジック、カウントダウンタイマー(STOP/START)、GREAT WORKOUT画面のプレイリスト版など、状態管理が複雑。
API E2Eテスト、API-アプリ全動線の結合テスト、レビュー指摘事項の反映、エッジケース修正。 順調なら 4/25(金) にRC、バッファ込みで 5月第1週リリース が現実的なライン。
| 画面グループ | 画面数 | アプリ工数 | 必要API | API工数 |
|---|---|---|---|---|
| A. PL一覧/詳細 | 4 | 3〜4d | 検索API、単体取得API、お気に入りAPI | 4〜5d |
| B. マイPL管理 | 4 | 2〜3d | マイPL一覧API、削除API | 1〜2d |
| C. PL作成/編集 | 8 | 5〜6d | 作成API、編集API | 2〜3d |
| D. PL再生 | 8 | 4〜6d | 再生結果記録API、人気順集計 | 3〜4d |
| E. VOD詳細拡張 | 4 | 1〜2d | (既存API + お気に入りAPI共用) | - |
| 合計 | ~25 | 16〜22d | 14〜18d |
4/25 (金)
全フェーズがオンスケで進行し、未回答事項(⑧⑨⑩⑪)が4/7までに確定した場合。RC → 翌週リリース。
5/2 (金)
検索API・人気順集計で1週間の追加バッファ。結合テストでの手戻りを考慮。5月第1週リリースが最も現実的。
5/16 (金)
未回答事項の確定遅延、人気順ロジックの方針変更、再生フローの複雑さによる追加工数。GW挟む場合も。
#898の検索APIはコピペ状態で実質未設計。ページネーション/フィルタ/ソートの再設計が必要。Phase 3の開始前(4/7)までに設計完了が必須。
バッチ集計 vs リアルタイム集計の方針未決定。既存WeeklyScoreパターン(バッチ)が現実的だが、「リアルタイムに近い間隔」という要件との整合性を確認する必要あり。
⑧他PL追加/削除、⑨自分PL表示制御、⑩検索仕様、⑪タイマー挙動。特に⑩はPhase 3ブロッカー。開発タスクボードで早期に回答を得る必要あり。
連続再生の状態管理(タイマー、一時停止、途中終了)は見た目以上に複雑。既存VOD再生ロジックとの結合ポイントが多く、予想外のバグが出やすい。