## 작업 유형 <!-- 해당하는 항목에 체크해주세요. --> - [x] Feat: 새로운 기능 추가 - [ ] Fix: 버그 수정 - [ ] Docs: 문서 수정 - [ ] Refactor: 리팩토링 - [ ] Design: UI/CSS 수정 - [ ] Chore: 설정, 패키지, 기타 작업 - [ ] Hotfix: 긴급 수정 ## 작업 내용 <!-- 어떤 작업을 진행할지 간단히 작성해주세요. --> - 사이드 프로젝트 워크스페이스의 **스프린트 보드 페이지**를 Figma 디자인 기준으로 구현합니다. - 화면은 세 영역으로 구성됩니다. - **스프린트 요약 헤더**: 현재 스프린트명·기간, 진행률 바(완료/총 포인트 · %), 남은 일수, 남은 포인트 - **칸반 보드(3열)**: `대기 / 진행 중 / 완료` 컬럼 — 컬럼 헤더(상태 점 + 라벨 + 포인트 합계), 업무 카드(카테고리 태그, 포인트, 제목, 담당자 아바타·이름) - **백로그 섹션**: 접기/펼치기, 항목 수 배지, 항목별(우선순위 점, 제목, 포인트, 우선순위 배지), `백로그 항목 추가` 버튼 - 데이터·타입 계층은 이미 존재하므로(`entities/side-project/sprint`, `entities/side-project/task`) 이를 소비하는 **화면(route + view + UI)** 만 신규로 만듭니다. ## 작업 배경 <!-- 왜 이 작업이 필요한지 작성해주세요. --> - 사이드 프로젝트 템플릿의 핵심 화면인 스프린트 보드가 아직 라우트/뷰 없이 데이터 계층만 준비된 상태입니다. - `currentSprint`, `sprintVelocity`, `getSprintTasks(sprintId)`, `getBacklogTasks(workspaceId)` 및 `TASK_STATUS / TASK_PRIORITY / TASK_CATEGORY` 스타일 토큰이 이미 정의되어 있음. - 사이드바 네비게이션(`widgets/workspace-shell`)에 `스프린트 보드` 항목이 존재하나 연결될 페이지가 없어, 실제 화면 구현이 필요합니다. ## To Do <!-- 완료해야 할 작업을 체크리스트로 작성해주세요. --> - [ ] 라우트 추가: `app/workspaces/[workspaceId]/sprint-board/page.tsx` (RSC에서 스프린트/업무 조회(목데이터) 후 뷰에 주입) - [ ] 뷰 컨테이너 추가: `views/side-project/sprint-board`(신규 세그먼트) — 헤더/보드/백로그 조립 - [ ] 스프린트 요약 헤더 컴포넌트 (그라데이션 카드 · 진행률 바 · 남은 일수/포인트) - [ ] 자체 코드 리뷰 (타입 안정성 · 접근성 · 컨벤션) ## 완료 기준 <!-- 이 이슈가 완료되었다고 판단할 수 있는 기준을 작성해주세요. --> - [ ] `/workspaces/{workspaceId}/sprint-board` 진입 시 디자인과 일치하는 화면이 렌더된다. - [ ] 요약 헤더가 `currentSprint`의 기간·진행률·남은 일수/포인트를 정확히 표시한다. - [ ] 칸반 3열이 `getSprintTasks()` 결과를 상태별로 분류하고, 각 컬럼 포인트 합계가 맞게 계산된다. - [ ] 카드의 카테고리 태그·우선순위·담당자 색상이 `TASK_CATEGORY / TASK_PRIORITY` 토큰과 일치한다. - [ ] 백로그 섹션이 `getBacklogTasks()` 결과를 우선순위 배지와 함께 표시하고, 접기/펼치기가 동작한다. - [ ] `tsc --noEmit`, ESLint 통과. ## 참고 자료 ## 예상 브랜치명 <!-- Type/#issue-number/description 형식으로 작성해주세요. 이슈 생성 후 번호를 반영합니다. --> ```txt Feat/#23/side-project-sprint-board ```
작업 유형
작업 내용
대기 / 진행 중 / 완료컬럼 — 컬럼 헤더(상태 점 + 라벨 + 포인트 합계), 업무 카드(카테고리 태그, 포인트, 제목, 담당자 아바타·이름)백로그 항목 추가버튼entities/side-project/sprint,entities/side-project/task) 이를 소비하는 화면(route + view + UI) 만 신규로 만듭니다.작업 배경
currentSprint,sprintVelocity,getSprintTasks(sprintId),getBacklogTasks(workspaceId)및TASK_STATUS / TASK_PRIORITY / TASK_CATEGORY스타일 토큰이 이미 정의되어 있음.widgets/workspace-shell)에스프린트 보드항목이 존재하나 연결될 페이지가 없어, 실제 화면 구현이 필요합니다.To Do
app/workspaces/[workspaceId]/sprint-board/page.tsx(RSC에서 스프린트/업무 조회(목데이터) 후 뷰에 주입)views/side-project/sprint-board(신규 세그먼트) — 헤더/보드/백로그 조립완료 기준
/workspaces/{workspaceId}/sprint-board진입 시 디자인과 일치하는 화면이 렌더된다.currentSprint의 기간·진행률·남은 일수/포인트를 정확히 표시한다.getSprintTasks()결과를 상태별로 분류하고, 각 컬럼 포인트 합계가 맞게 계산된다.TASK_CATEGORY / TASK_PRIORITY토큰과 일치한다.getBacklogTasks()결과를 우선순위 배지와 함께 표시하고, 접기/펼치기가 동작한다.tsc --noEmit, ESLint 통과.참고 자료
예상 브랜치명