Skip to content

Commit b78fef7

Browse files
committed
docs: Control 백로그 분리 및 Phase 1.5 게이트 정리
1 parent b591660 commit b78fef7

3 files changed

Lines changed: 149 additions & 22 deletions

File tree

docs/v2_FINANCIAL-LEDGER/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ pnpm start
116116
- [🎨 Core Components](ui/01-core-components.md)
117117
- [🖼️ 디자인 시스템](ui/00-design-system.md)
118118
- [💅 테마 정책](ui/02-theme-policy.md)
119+
- [🧩 Control Backlog](ui/03-control-backlog.md)
119120

120121
### 마켓플레이스
121122
- [🏪 마켓플레이스 개요](marketplace/00-overview.md)

docs/v2_FINANCIAL-LEDGER/roadmap/01-development-plan.md

Lines changed: 58 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -121,22 +121,36 @@ Fieldstack/
121121

122122
### 주요 작업
123123

124-
#### 1.5.1 Control UI Components (공통 컴포넌트/레이아웃)
124+
#### 1.5.1 Control UI Components (버튼/선택/토글 등 기본 Control)
125125
**예상 기간: 1주**
126126

127-
- [ ] Shell Layout 계약 정의 (Header, Sidebar, Workspace)
128-
- [ ] Navigation Item 계약 정의 (id, label, path, icon, visibility)
129-
- [ ] 공통 상태 컴포넌트 정의 (Loading, Empty, Error, Unauthorized)
130-
- [ ] 공통 액션 패턴 정의 (Primary/Secondary/Danger 버튼 규칙)
131-
- [ ] 접근성 기준 체크 (키보드 포커스, 명도 대비, aria 기본 규칙)
127+
> 원칙: "모든 Control 선제 구현"이 아니라, Core 흐름에 필요한 Control MVP를 먼저 고정하고,
128+
> 추가 Control은 Phase 2 모듈 개발/커뮤니티 요청 기반으로 점진 확장한다.
132129
133-
#### 1.5.2 Main Home
134-
**예상 기간: 3일**
130+
Control 전체 목록과 상태 관리는 별도 문서에서 관리:
131+
- `docs/v2_FINANCIAL-LEDGER/ui/03-control-backlog.md` (P0 -> P0.5 -> P1)
135132

136-
- [ ] Home 화면 정보 구조 확정 (요약 영역, 빠른 액션, 최근 활동)
137-
- [ ] 모듈 0개 상태 Empty UX 구현 (안내 + 다음 행동 CTA)
138-
- [ ] 관리자/일반 사용자 홈 표시 정책 분리
139-
- [ ] 글로벌 네비게이션 진입점 확정 (설정, 모듈 관리, 로그아웃)
133+
- [ ] Button 규격 확정 (Primary/Secondary/Danger/Ghost, size, loading, disabled)
134+
- [ ] Toggle/Switch 규격 확정 (on/off 상태, 라벨 결합, 키보드 조작)
135+
- [ ] ComboBox/Select 규격 확정 (단일/다중 선택, 검색, 빈 상태)
136+
- [ ] Checkbox/Radio 규격 확정 (단일/그룹 선택, indeterminate 포함)
137+
- [ ] Input 계열 공통 규칙 확정 (text/number/email/password, validation/error/help text)
138+
- [ ] Control 접근성 기준 체크 (focus ring, 명도 대비, aria role/label, tab 순서)
139+
- [ ] Control 우선순위 분류 (P0: Core 필수 / P1: 자주 사용 / P2: 요청 기반)
140+
- [ ] 신규 Control 추가 정책 확정 (요청 -> RFC/이슈 -> 디자인/접근성 검토 -> 릴리스)
141+
142+
#### 1.5.2 설치 마법사 (초기 설정)
143+
**예상 기간: 4일**
144+
145+
- [ ] Welcome 화면
146+
- [ ] Configuration 화면 (관리자 계정, DB, 선택 옵션)
147+
- [ ] Progress 화면 (단계/로그/오류 상태)
148+
- [ ] Complete 화면 (로그인 진입)
149+
- [ ] 첫 실행 감지 시 /install 강제 라우팅 정책 반영
150+
- [ ] Configuration 단계 유효성 검증 UX 정의 (필수값, 형식 오류, 연결 테스트 결과)
151+
- [ ] Progress 단계 실패 처리 UX 정의 (재시도/이전 단계 복귀/에러 요약)
152+
- [ ] 설치 중 브라우저 새로고침/재접속 복구 정책 정의 (진행 상태 재동기화)
153+
- [ ] Complete 이후 첫 진입 안내 UX 정의 (로그인 후 바로 할 일, 설정 이동)
140154

141155
#### 1.5.3 로그인 (Auth & Access)
142156
**예상 기간: 3일**
@@ -145,23 +159,32 @@ Fieldstack/
145159
- [ ] 2FA OTP 입력 화면 구현 (활성 계정 대상)
146160
- [ ] 로그인 실패/잠금/세션 만료 UX 정의
147161
- [ ] 로그인 성공 후 Home 리다이렉트 규칙 확정
162+
- [ ] 비밀번호 복구 UI 구현 (SMTP self-service / 관리자 토큰 복구 안내)
163+
- [ ] OAuth/Passkey 로그인 진입 UI 정책 정의 (활성화된 경우에만 노출)
164+
- [ ] 인증 실패 메시지 규칙 통일 (계정 존재 여부 비노출, 재시도 안내)
165+
166+
#### 1.5.4 Main Home
167+
**예상 기간: 3일**
148168

149-
#### 1.5.4 관리자 대시보드 / 일반 설정
169+
- [ ] Home 화면 정보 구조 확정 (요약 영역, 빠른 액션, 최근 활동)
170+
- [ ] 모듈 0개 상태 Empty UX 구현 (안내 + 다음 행동 CTA)
171+
- [ ] 관리자/일반 사용자 홈 표시 정책 분리
172+
- [ ] 글로벌 네비게이션 진입점 확정 (설정, 모듈 관리, 로그아웃)
173+
- [ ] 글로벌 네비게이션 상세 규격 확정 (메뉴 순서, 아이콘, 모바일 Drawer, 키보드 탐색)
174+
- [ ] Home 공통 상태 정의 (Loading, Empty, Error, Unauthorized)
175+
- [ ] 첫 로그인 사용자용 온보딩 진입 UX 정의 (튜토리얼/다음 행동 안내)
176+
177+
#### 1.5.5 관리자 대시보드 / 일반 설정
150178
**예상 기간: 4일**
151179

152180
- [ ] 일반 설정 화면 뼈대 구현 (프로필/언어/테마)
153181
- [ ] 관리자 전용 영역 라우트 분리
154182
- [ ] 관리자 PIN Step-up 모달 흐름 구현
155183
- [ ] Protected Route 정책 구현 (권한 부족 시 리다이렉트)
156-
157-
#### 1.5.5 설치 마법사 (초기 설정)
158-
**예상 기간: 4일**
159-
160-
- [ ] Welcome 화면
161-
- [ ] Configuration 화면 (관리자 계정, DB, 선택 옵션)
162-
- [ ] Progress 화면 (단계/로그/오류 상태)
163-
- [ ] Complete 화면 (로그인 진입)
164-
- [ ] 첫 실행 감지 시 /install 강제 라우팅 정책 반영
184+
- [ ] 관리자 PIN 관리 UI 구현 (최초 설정/변경/오류 처리)
185+
- [ ] 관리자 세션 만료 UX 구현 (30분 만료 시 재인증 모달)
186+
- [ ] 일반 설정 저장 UX 보강 (저장 성공/실패, 미저장 변경 경고)
187+
- [ ] 관리자 활동/감사 로그 화면 진입점 정의 (PIN 실패/주요 설정 변경 확인)
165188

166189
#### 1.5.6 UX 품질 기준
167190
**예상 기간: 2일**
@@ -170,6 +193,9 @@ Fieldstack/
170193
- [ ] 에러/빈 상태/권한 거부 상태 일관성 점검
171194
- [ ] 핵심 플로우 QA 체크리스트 작성
172195
- [ ] "설치 -> 로그인 -> 홈 -> 설정" E2E 시나리오 정의
196+
- [ ] 접근성 QA 체크리스트 작성 (focus order, aria label/role, 대비, 키보드 전용 조작)
197+
- [ ] 텍스트/피드백 톤 가이드 통일 (성공/실패/경고 문구 일관성)
198+
- [ ] E2E 확장 시나리오 정의 (설치 실패 복구, 비밀번호 복구, 관리자 PIN 만료 재인증)
173199

174200
### 마일스톤 1.5 완료 기준
175201
- ✅ 모듈 없이도 Core UI Shell이 정상 동작
@@ -178,13 +204,23 @@ Fieldstack/
178204
- ✅ 일반 설정 진입 및 저장 플로우 검증 완료
179205
- ✅ Phase 2 모듈 UI를 붙일 수 있는 라우팅/레이아웃 기반 확보
180206

207+
### Phase 2 진입 게이트 (권장)
208+
- [ ] Control 패키지 MVP 완료 (Button/Input/Select/Toggle/Checkbox/Radio/Modal/Form)
209+
- [ ] Auth/Install/Home/Settings/Admin 흐름에서 공통 Control 재사용 검증
210+
- [ ] 접근성/반응형/상태 처리(Loading/Empty/Error/Unauthorized) 기준 통과
211+
- [ ] 핵심 E2E 통과 (설치 -> 로그인 -> 홈 -> 설정/관리자)
212+
- [ ] UI 계약 동결 (Phase 2에서는 신규 Control 추가보다 모듈 기능 구현 우선)
213+
- [ ] 신규 Control은 예외적으로 수요 기반 추가 (모듈 요구사항/커뮤니티 제안 시 배치 처리)
214+
181215
---
182216

183217
## Phase 2: 기본 모듈 개발 (2개월)
184218

185219
### 목표
186220
핵심 기능 모듈 2개 완성 (가계부, 구독 관리)
187221

222+
> 선행 조건(권장): Phase 1.5의 Control/UI/UX 진입 게이트를 통과한 뒤 착수
223+
188224
### 주요 작업
189225

190226
#### 2.1 Ledger Module (가계부)
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Control Backlog (P0 -> P0.5 -> P1)
2+
3+
## 목적
4+
5+
Phase 1.5에서 Core Control을 우선순위 기반으로 구현하고,
6+
Phase 2 이후 모듈/커뮤니티 요청에 따라 점진 확장하기 위한 관리 문서입니다.
7+
8+
## 운영 원칙
9+
10+
- P0는 Phase 1.5에서 우선 완료한다.
11+
- P0.5는 핵심 흐름에서 반복 사용되는 항목을 우선 반영한다.
12+
- P1은 전부 선행 구현하지 않고, 실제 요구가 발생한 항목부터 배치 처리한다.
13+
- 커뮤니티 제안 Control도 동일 백로그에 추가하고 상태를 갱신한다.
14+
15+
## 상태 기준
16+
17+
- `미착수` - 구현 시작 전
18+
- `진행중` - 작업 중
19+
- `완료` - Control 패키지 반영 완료
20+
21+
## P0 (Core 필수)
22+
23+
| Control | 우선순위 | 1.5 구현상태 | 비고 |
24+
| --- | --- | --- | --- |
25+
| Button | P0 | 미착수 | Primary/Secondary/Danger/Ghost |
26+
| Input | P0 | 미착수 | text/email/number/password |
27+
| Select / ComboBox | P0 | 미착수 | single/multi + search |
28+
| Checkbox | P0 | 미착수 | 단일/그룹 + indeterminate |
29+
| Radio | P0 | 미착수 | 단일 선택 그룹 |
30+
| Switch / Toggle | P0 | 미착수 | on/off + keyboard |
31+
| Modal / Dialog | P0 | 미착수 | confirm/alert/prompt 패턴 |
32+
| Form Field Wrapper | P0 | 미착수 | label/help/error/required |
33+
| Alert / Inline Message | P0 | 미착수 | success/warning/error/info |
34+
| Progress | P0 | 미착수 | linear + step progress |
35+
36+
## P0.5 (핵심 흐름 반복 사용)
37+
38+
| Control | 우선순위 | 1.5 구현상태 | 비고 |
39+
| --- | --- | --- | --- |
40+
| Textarea | P0.5 | 미착수 | multi-line input |
41+
| Password Input | P0.5 | 미착수 | show/hide + strength hint |
42+
| OTP / PIN Input | P0.5 | 미착수 | 4~6자리 step-up 인증 |
43+
| Search Input | P0.5 | 미착수 | debounce/clear |
44+
| Spinner / Loader | P0.5 | 미착수 | blocking/non-blocking 로딩 |
45+
| Toast / Notification | P0.5 | 미착수 | 전역 피드백 메시지 |
46+
| Empty State Block | P0.5 | 미착수 | CTA 포함 빈 상태 |
47+
| Skeleton Loader | P0.5 | 미착수 | list/card/form skeleton |
48+
49+
## P1 (자주 쓰이지만 일부 우선 구현)
50+
51+
| Control | 우선순위 | 1.5 구현상태 | 비고 |
52+
| --- | --- | --- | --- |
53+
| Tabs | P1 | 미착수 | settings/module 화면 분리 |
54+
| Dropdown Menu | P1 | 미착수 | header/user/action menu |
55+
| Tooltip | P1 | 미착수 | helper/explain UX |
56+
| Badge / Tag | P1 | 미착수 | 상태 표기 (active/error 등) |
57+
| Pagination | P1 | 미착수 | table/list 페이지 분할 |
58+
| Date Picker | P1 | 미착수 | 단일/범위 선택 |
59+
| File Uploader | P1 | 미착수 | drag&drop + progress |
60+
| Drawer / Sheet | P1 | 미착수 | 모바일/보조 패널 |
61+
62+
## P2 (요청 기반 확장)
63+
64+
| Control | 우선순위 | 1.5 구현상태 | 비고 |
65+
| --- | --- | --- | --- |
66+
| Multi Select (Advanced) | P2 | 미착수 | group/search/chip + keyboard |
67+
| Command Palette | P2 | 미착수 | 빠른 액션/검색 단축키 |
68+
| Rich Text Editor | P2 | 미착수 | markdown/toolbar/attachment |
69+
| Data Grid (Advanced Table) | P2 | 미착수 | column resize/pin/virtual scroll |
70+
| Tree View | P2 | 미착수 | 계층형 데이터 탐색 |
71+
| Accordion | P2 | 미착수 | 섹션 접기/펼치기 |
72+
| Stepper | P2 | 미착수 | 다단계 프로세스 탐색 |
73+
| Timeline | P2 | 미착수 | 활동 이력 시각화 |
74+
| Calendar View | P2 | 미착수 | month/week/day 캘린더 |
75+
| Date Range Picker (Advanced) | P2 | 미착수 | preset/quick range/timezone |
76+
| Time Picker | P2 | 미착수 | 12h/24h + seconds |
77+
| Color Picker | P2 | 미착수 | HEX/RGB + palette |
78+
| Slider / Range Slider | P2 | 미착수 | 단일/범위 값 조절 |
79+
| Segmented Control | P2 | 미착수 | 소형 탭 대체 선택 UI |
80+
| Combobox Creatable | P2 | 미착수 | 옵션 생성 허용 |
81+
| Mentions / Autocomplete | P2 | 미착수 | @mention/#tag 입력 보조 |
82+
| Kanban Board | P2 | 미착수 | drag&drop 상태 보드 |
83+
| Split Pane / Resizable Panel | P2 | 미착수 | 가변 레이아웃 편집 |
84+
| Code Editor | P2 | 미착수 | JSON/YAML 설정 편집 |
85+
| JSON Viewer / Diff Viewer | P2 | 미착수 | 설정 비교/검토 |
86+
| Tour / Coachmark | P2 | 미착수 | 온보딩 단계 안내 |
87+
| Hotkey Helper | P2 | 미착수 | 단축키 목록/가이드 |
88+
| Activity Feed | P2 | 미착수 | 이벤트 스트림 컴포넌트 |
89+
| Permission Matrix | P2 | 미착수 | 역할/권한 테이블 편집 |
90+
| Bulk Action Bar | P2 | 미착수 | 다중 선택 일괄 처리 |

0 commit comments

Comments
 (0)