77 lines
4.6 KiB
Markdown
77 lines
4.6 KiB
Markdown
# Milestone: Flutter Operator Console MVP
|
|
|
|
## 위치
|
|
|
|
- Roadmap: [ROADMAP.md](../../../ROADMAP.md)
|
|
- Phase: [PHASE.md](../PHASE.md)
|
|
|
|
## 목표
|
|
|
|
승인된 `Flutter Operator Console UX Plan`, command/headless workflow, 거래 확장 결과를 기준으로 Flutter client에 operator dashboard MVP를 구현한다. 화면은 충분히 표면화된 운영 흐름과 준비된 wireframe을 따라가며, terminal UI나 고급 charting이 아니라 반복 운영에 필요한 조회/실행 표면을 우선한다.
|
|
|
|
## 상태
|
|
|
|
[보류]
|
|
|
|
## 구현 잠금
|
|
|
|
- 상태: 잠금
|
|
- 결정 필요: 아래 체크리스트
|
|
- [x] `Operator Headless Workflow Validation`이 완료되어 화면 없이 대표 운영 흐름을 검증했다.
|
|
- [x] `Operator Client API/Core Integration Validation`이 완료되어 Flutter 실화면 없이 client core에서 기본 API 호출을 검증했다.
|
|
- [x] `KIS Live Data Collection Pipeline`이 완료되어 실제 KIS provider 수집과 worker import/storage/`StorageBarSource` 입력 조회 경계가 검증되었다.
|
|
- [ ] command-first workflow에서 반복 운영할 기능, 상태 key, 우선순위가 충분히 표면화되어 화면 후보로 정리되었다.
|
|
- [ ] 화면 wireframe 또는 동등한 화면 정의 산출물이 준비되었고 사용자가 승인했다.
|
|
|
|
## 범위
|
|
|
|
- Flutter feature-first 화면 구조
|
|
- socket connection state 표시
|
|
- backtest run list/detail/result 조회
|
|
- start backtest request form과 unavailable/error 응답 표시
|
|
- market data import/status 조회
|
|
- responsive web/mobile/desktop navigation
|
|
|
|
## 기능
|
|
|
|
### Epic: [operator-mvp] Flutter operator console MVP
|
|
|
|
headless 검증과 wireframe 승인을 거친 운영 흐름만 실제 Flutter 화면과 provider 경계로 옮긴다.
|
|
|
|
- [ ] [connect-state] client가 API socket 연결 상태를 표시한다. 검증: Flutter test가 연결/끊김 상태 표시를 검증한다.
|
|
- [ ] [backtest-list] backtest run 목록을 조회하고 표시한다. 검증: generated/mapped contracts 기반 repository/provider test가 목록 응답을 화면 model로 전달한다.
|
|
- [ ] [backtest-detail] backtest run detail과 result를 표시한다. 검증: detail/result 상태별 widget test가 통과한다.
|
|
- [ ] [start-run] operator가 backtest 실행을 요청하고 unavailable/error 응답을 이해 가능한 상태로 본다. 검증: request form과 typed error response test가 통과한다.
|
|
- [ ] [market-status] market data import/status를 조회할 수 있다. 검증: market status provider/widget test가 통과한다.
|
|
- [ ] [responsive-nav] web/mobile/desktop target에서 기본 navigation이 작동한다. 검증: 주요 viewport별 navigation smoke 또는 widget test가 통과한다.
|
|
- [ ] [repo-checks] `bin/test`, `bin/lint`, `bin/build`가 통과한다.
|
|
|
|
## 완료 리뷰
|
|
|
|
- 상태: 없음
|
|
- 요청일: 없음
|
|
- 완료 근거: 아직 기능 Task와 검증이 충족되지 않았다.
|
|
- 리뷰 필요:
|
|
- [ ] 사용자가 완료 결과를 확인했다
|
|
- [ ] archive 이동을 승인했다
|
|
- 리뷰 코멘트: 없음
|
|
|
|
## 범위 제외
|
|
|
|
- UI 기획 없이 임의로 화면 깊이를 확정하는 작업
|
|
- headless 검증 없이 dashboard layout, chart, form 흐름을 먼저 구현하는 작업
|
|
- wireframe 승인 없이 실화면을 구현하는 작업
|
|
- 별도 TypeScript web app
|
|
- 고급 charting 전체
|
|
- push notification
|
|
- mobile app store 배포 설정
|
|
|
|
## 작업 컨텍스트
|
|
|
|
- 관련 경로: `apps/client/`, `packages/contracts/`, `services/api/`
|
|
- 표준선(선택): `go_router`는 화면 이동/URL 구조, Riverpod은 API client/socket state/feature state 주입을 담당한다. UI는 `AltSocketClient` provider와 generated/mapped contracts boundary를 통해 API만 바라본다.
|
|
- 표준선(선택): 화면 작업은 command-first workflow에서 운영 항목, 상태 key, 우선순위가 충분히 표면화되어 정리 가능한 뒤 다시 연다.
|
|
- 표준선(선택): paper trading 화면은 `Paper Trading Command Workflow`에서 반복 운영 항목과 evidence key가 정리된 뒤에만 MVP 범위 후보로 올린다.
|
|
- 선행 작업: Flutter Operator Console UX Plan, Operator Headless Workflow Validation, Operator Client API/Core Integration Validation, KIS Live Data Collection Pipeline, Command-First Operator Workflow, Paper Trading Readiness, Paper Trading Command Workflow, US Market Expansion, Live Trading Boundary, wireframe 승인
|
|
- 후속 작업: Flutter Push Notification Boundary
|
|
- 확인 필요: headless 검증, client API/core 연결 검증, KIS live data collection pipeline은 완료되었고, command-first workflow에서 화면 후보가 충분히 정리되고 wireframe이 승인되기 전에는 구현 잠금을 유지한다.
|