menu: 롤플레잉 > 내 교육 트랙 chrome: activeMain="roleplaying" · activeSub="my-tracks"
PRD — rp-my-tracks
updated: 2026-05-29 · status: draft
1. 목적
학습자가 배정된 모든 교육 트랙(현재 진행 중·예정·종료 포함)을 한 화면에서 점검할 수 있게 한다. 홈(rp-mypage)은 "오늘 해야 할 것"만 가볍게 보여주는 대시보드이므로, 종료된 트랙·예정 트랙을 확인하려면 별도 페이지가 필요하다.
2. 사용자
- 주 사용자: 트랙이 1건 이상 배정된 학습자 본인
- 빈도: 월 1–3회 (분기 평가 직전, 미수료 트랙 회고, 다음 트랙 예습)
- 진입 맥락:
- 롤플레잉 메인의 서브탭 "내 교육 트랙" 클릭
- 홈에서 "지금 진행 중인 트랙" 섹션이 비어 있을 때 "전체 트랙 보기" 유도
- 종료된 트랙 회고 알림(이메일/푸시)에서 진입
3. 핵심 사용 흐름
- 진입 시 phase(진행 기간 상태)별로 분류된 트랙 목록 노출 — 진행 중 → 예정 → 종료 순
- 상단 phase 필터 칩(전체 / 진행 중 / 예정 / 종료, 각 옆 개수)으로 좁힘
- 카드에서 트랙명·기간·상태 배지·진행률·합격 조건 잔여를 한눈에 확인
- 카드 어디든 클릭 →
rp-track-detail/<id>로 진입 (카드 전체가 단일 클릭 타깃)
4. 주요 정보·액션
정보
- phase 배지 —
진행 중(강조 채움) /예정(외곽선) /종료(점선·dim) - 상태 배지(기존) — 진행 중 / 조기 합격 / 합격 완료 / 미시작 / 기간 만료
- 기간 —
YYYY-MM-DD ~ YYYY-MM-DD+ 보조 라벨(D-N, "기간 만료", "M/D 시작") - 진행률 바 + 퍼센트
- 남은 조건 한 줄 (
remainingSummary) — phase=ended면 "기간 종료"로 치환 - 필터별 개수 표시 — 학습자가 종료된 트랙이 얼마나 쌓였는지 즉시 인지
액션
- phase 필터 칩 (단일 선택)
- 카드 전체 클릭 →
rp-track-detail/<id>(카드 = 단일 클릭 타깃, 별도 "상세 →" 버튼 없음) - (디자인 단계에서 검토) 정렬 옵션, 검색
빈 상태
- 배정 자체가 없으면(
courses.length === 0& 필터=all): "배정된 교육 트랙 없음 — 관리자에게 문의" + 문의 안내 텍스트 - 필터 결과만 비면: "조건에 맞는 트랙 없음" (필터 해제 유도)
종료 트랙의 다른 처리
- 카드 opacity 낮춤(grayscale dim)
- 카드 클릭 동선은 유지 (회고 진입 보장)
- "이어하기" 류의 적극적 CTA는 노출하지 않음
수집할 사용자 액션 데이터
| trigger | 이벤트 | 프로퍼티 | 수집 사유 |
|---|---|---|---|
| phase 필터 칩 | rp_mytracks_phase_filter |
phase(all/ongoing/upcoming/ended) | 종료/예정 트랙 회고 수요 |
| 트랙 카드 클릭 | rp_mytracks_card_click |
trackId, phase, status | 어떤 상태의 트랙으로 진입하는지(특히 종료 트랙 회고) |
- 자동 수집(선택): 종료 트랙 노출
rp_mytracks_ended_impression(endedCount) — 종료 트랙 회고 진입률. 불필요 판단 시 제외. - PII: trackId만.
5. 결정 항목
- phase 분류 기준 — 오늘 일자 vs
period.start/period.end단순 비교 확정. 시간대(자정 기준) 정책은 production에서 결정. - 정렬 — 1차: 미종료↑ / 종료↓ · 2차: 합격↓ / 미합격↑ · 3차: 종료일 빠른 순 확정.
- 페이지네이션 — 더보기 방식 확정.
- 홈과의 진입 동선 — 홈 섹션 헤더 라벨 "더 보기 →" → "전체 보기 →" 로 변경 확정.
- 종료 트랙 보존 기간 — 영구 보존 확정.