테마
Story: 원가입력 UI - 미사용 필터
메타
| 항목 | 값 |
|---|---|
| Story ID | E-09-S-06 |
| Epic | E-09 미사용 상품 정리 |
| 상태 | ready-for-dev |
| 우선순위 | P1 |
| 규모 | M |
| 담당 개발자 | FE |
사용자 스토리
As a 셀러,
I want 최근에 판매가 없는 상품을 필터링하고 싶다,
So that 정리할 상품을 쉽게 찾을 수 있다.
수락 기준 (Acceptance Criteria)
AC-01: 미사용 상품 배지
| 항목 | 내용 |
|---|---|
| Given | 원가입력 페이지 상단에 |
| When | 미사용 상품이 있으면 |
| Then | "📦 미사용 상품 15개" 배지가 표시된다 |
AC-02: 미사용 필터 적용
| 항목 | 내용 |
|---|---|
| Given | 미사용 배지를 클릭하거나 필터를 선택하면 |
| When | 필터가 적용될 때 |
| Then | 미사용 상품만 목록에 표시된다 |
AC-03: 안내 메시지
| 항목 | 내용 |
|---|---|
| Given | 미사용 필터가 적용되면 |
| When | 목록 상단에 |
| Then | "이 상품들을 정리하면 원가입력이 더 쉬워져요" 안내 표시 |
AC-04: 기간 선택
| 항목 | 내용 |
|---|---|
| Given | 미사용 필터에서 |
| When | 기간을 변경하면 |
| Then | 30일/60일/90일/180일 선택 가능 |
태스크 분해
Task 1: 미사용 상품 배지
- [ ] 1.1: 미사용 상품 카운트 API 연동
- [ ] 1.2: 배지 컴포넌트 (클릭 가능)
- [ ] 1.3: 배지 클릭 시 필터 적용
Task 2: 필터 UI
- [ ] 2.1: 필터 드롭다운에 "미사용 상품" 옵션 추가
- [ ] 2.2: 기간 선택 서브 옵션 (30/60/90/180일)
- [ ] 2.3: 필터 적용/해제 상태 관리
Task 3: 필터 적용 시 UI
- [ ] 3.1: 안내 배너 표시
- "최근 90일간 판매가 없는 상품입니다"
- "이 상품들을 정리하면 원가입력이 더 쉬워져요"
- [ ] 3.2: 필터 해제 버튼 (X)
Task 4: 최근 판매일 컬럼
- [ ] 4.1: 상품 목록에 "최근 판매일" 컬럼 추가
- [ ] 4.2: 판매 없음: "-" 표시
- [ ] 4.3: 90일 이상: 회색 텍스트
화면 설계
원가입력 페이지 - 필터 추가
┌───────────────────────────────────────────────────────────────┐
│ 원가 입력 │
├───────────────────────────────────────────────────────────────┤
│ │
│ [검색: 상품명/SKU] [필터 ▼] [📦 미사용 상품 15개] │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ☐ │ 상품명 │ SKU │ 최근 판매일 │ 원가 │ ⋯ │ │
│ ├───┼─────────────────┼──────────┼─────────────┼──────┼───┤ │
│ │ ☐ │ 프리미엄 티셔츠 │ SKU-001 │ 2026-01-15 │15,000│ ⋯│ │
│ │ ☐ │ 기본 티셔츠 │ SKU-002 │ 2025-10-01 │ - │ ⋯ │ │
│ │ ☐ │ 테스트 상품 │ SKU-003 │ - │ - │ ⋯ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ [선택 삭제] 1-50 / 127 │
│ │
└───────────────────────────────────────────────────────────────┘미사용 필터 적용 시
┌───────────────────────────────────────────────────────────────┐
│ 원가 입력 │
├───────────────────────────────────────────────────────────────┤
│ │
│ [검색: 상품명/SKU] [필터: 미사용 상품 (90일) ✕] │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 💡 최근 90일간 판매가 없는 상품입니다. │ │
│ │ 이 상품들을 정리하면 원가입력이 더 쉬워져요. │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ☑ │ 상품명 │ SKU │ 최근 판매일 │ 원가 │ 🗑 │ │
│ ├───┼─────────────────┼──────────┼─────────────┼──────┼───┤ │
│ │ ☑ │ 기본 티셔츠 │ SKU-002 │ 2025-10-01 │ - │ 🗑│ │
│ │ ☑ │ 테스트 상품 │ SKU-003 │ - │ - │ 🗑│ │
│ │ ☑ │ 구모델 신발 │ SKU-015 │ 2025-09-15 │25,000│ 🗑│ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ [☑ 전체 선택 (15)] [🗑 선택 삭제] 1-15 / 15 │
│ │
└───────────────────────────────────────────────────────────────┘필터 드롭다운
[필터 ▼]
┌─────────────────────┐
│ 전체 상품 │
│ ─────────────────── │
│ 원가 미입력 │
│ 원가 입력됨 │
│ ─────────────────── │
│ 미사용 상품 ▶ │ ┌────────────────┐
└─────────────────────┘ │ 최근 30일 없음 │
│ 최근 60일 없음 │
│ 최근 90일 없음 ✓│
│ 최근 180일 없음│
└────────────────┘이벤트 로깅
| 이벤트 | 파라미터 |
|---|---|
unused_filter_apply | seller_id, days, unused_count |
unused_badge_click | seller_id, unused_count |
생성일: 2026-01-20
