Files
hanarang-dashboard/.plans/sprints/SPRINT-009.md
하랑이 988c6905ea 📋 Sprint 009~010 계획 추가
- SPRINT-009: 회원가입 제거 + Sprint 동기화 + 진행률 정상화 + 프로필 사진 수정
- SPRINT-010: 관리자 코드 정리 + JWT 단일화 + API Key 정리
2026-04-04 16:53:25 +09:00

2.5 KiB

SPRINT-009: 관리자 단순화 + 프로젝트 진행률 정상화 + 프로필 사진 수정

목표

관리자 전용 서비스에 맞게 회원가입 제거, 프로젝트 진행률 계산 정상화, 자매 프로필 사진 표시 버그 수정

태스크

TASK-032: 회원가입 제거

  • /register 페이지 제거
  • POST /api/auth/register 엔드포인트 제거 또는 비활성화
  • INVITE_CODE 환경변수 및 초대코드 기반 가입 로직 제거
  • 로그인 전용 플로우로 단순화
  • FE: 로그인 페이지에서 회원가입 링크 제거
  • UX: 비로그인 시 /login으로만 이동

TASK-033: 프로젝트 Sprint 동기화

  • 각 프로젝트 repo의 .plans/sprints/ 디렉토리를 읽어 Sprint DB 레코드 생성/업데이트
  • Gitea API로 repo tree 조회 또는 raw 파일 fetch
  • 동기화 대상:
    • SPRINT-001.md ~ SPRINT-XXX.md
    • Sprint number, name, status(기본 pending) 추출
  • API:
    • POST /api/admin/projects/:id/sync-sprints
    • POST /api/admin/projects/sync-all-sprints
  • Gitea sync 시 Sprint 동기화도 함께 수행 가능하도록 확장

TASK-034: 프로젝트 진행률 계산 수정

  • 현재 “스프린트 없음” 문제 해결
  • 진행률 계산 방식:
    • 기본: 완료 Sprint 수 / 전체 Sprint 수
    • 가능하면 .qa/ 또는 상태 기반으로 done/review/in_progress 반영
  • 프로젝트 목록 페이지(/projects): 진행률 바/퍼센트 표시
  • 프로젝트 상세 페이지(/projects/[id]): Sprint 목록 + 상태 표시
  • “No sprint data” fallback 제거

TASK-035: 프로필 사진 버그 수정

  • 현재 아이콘 fallback만 보이는 문제 원인 파악
  • 점검 항목:
    • avatar API 경로 연결 여부
    • FE 이미지 src 설정
    • 캐시(5분 TTL) fallback 지속 문제
    • 실제 서버 파일 경로 (~/.openclaw/avatar.png|jpg|webp) 확인
  • 수정 목표:
    • 실제 사진 있으면 항상 우선 표시
    • 실패 시에만 SVG fallback
  • 반영 위치:
    • 대시보드 자매 카드
    • /sisters
    • /sisters/[name]

의존성

  • TASK-032는 독립적
  • TASK-033 → TASK-034 순서 필수
  • TASK-035는 독립적, 병렬 가능

검증 기준

  • /register 접근 불가 또는 로그인으로 리다이렉트
  • 회원가입 API 제거/비활성화 확인
  • 프로젝트별 Sprint 동기화 후 진행률 표시 정상
  • 프로젝트 목록/상세에서 Sprint 데이터 렌더링
  • 자매 프로필 사진 실제 이미지 표시 확인
  • npm run build 성공 + 테스트 통과
  • 외부 URL QA 필수