Skip to content

feat: 사이드 프로젝트 진행률 차트 페이지 구현 #39

Description

@Kwon812

Issue

작업 유형

  • Feat: 새로운 기능 추가
  • Fix: 버그 수정
  • Docs: 문서 수정
  • Refactor: 리팩토링
  • Design: UI/CSS 수정
  • Chore: 설정, 패키지, 기타 작업
  • Hotfix: 긴급 수정

작업 내용

  • 사이드 프로젝트 워크스페이스의 진행률 차트 페이지(progress-chart)를 구현합니다.
  • 현재 스프린트 기준으로 4개 섹션을 표시합니다.
    • ① 상단 통계 3종: 완료 포인트 / 남은 포인트 / 스프린트 진행률(%)
    • ② 스프린트 진행률: 완료/계획 pt 프로그레스 바
    • ③ 스프린트별 벨로시티: 계획·완료 포인트 막대 차트
    • ④ 상태 분포: 태스크 status(완료/진행 중/대기) 건수 도넛 차트
  • 데이터는 엔티티에 이미 존재하므로 UI 표시 + 파생 계산만 수행합니다.

작업 배경

피그마 디자인 바탕으로 개발합니다.

To Do

  • sprint 엔티티: selectVelocity(sprints) 셀렉터 추가 (sprint: name, planned: totalPoints, completed: completedPoints 파생)
  • sprint.mock.tssprintVelocity 상수 제거, 공개 API(index.ts) 조정
  • task 엔티티: 상태별 건수 집계 countByStatus(tasks) 셀렉터 추가 및 export
  • 대시보드 Velocity 위젯을 selectVelocity(mockSprints) 사용으로 교체 (라벨 Sprint 1)
  • views/side-project/progress-chart 뷰 + 하위 표현 컴포넌트 구현
    • 상단 통계 3종 (ProgressStatRow, 공용 StatCard 재사용)
    • 스프린트 진행률 프로그레스 바 (SprintProgressCard)
    • 벨로시티 막대 차트 (VelocityChart, 순수 CSS)
    • 상태 분포 도넛 차트 (StatusDonutChart, SVG stroke-dasharray)
  • 라우트 app/workspaces/[workspaceId]/progress-chart/page.tsx (RSC, 스프린트 보드 page 패턴)
  • 자체 코드 리뷰 (타입 안정성 / 접근성 / 컨벤션)

완료 기준

  • 사이드바 진행률 차트 클릭 시 페이지가 정상 렌더된다(404 해소).
  • 상단 통계·진행률 바가 currentSprint 포인트에서 파생되어 표시된다.
  • 벨로시티 차트가 mockSprints 단일 출처에서 파생된 값으로 표시된다(sprintVelocity 상수 제거).
  • 상태 분포 도넛이 현재 스프린트 태스크의 status 집계로 표시된다.
  • 차트 라이브러리 등 신규 의존성을 추가하지 않는다(순수 CSS/SVG).
  • 스프린트가 없는 워크스페이스에서 빈 상태를 처리한다.

참고 자료

예상 브랜치명

feat/#39/side-project-progress-chart

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions