docs: 프로젝트 우선 리팩터 런타임 점검 완료 기록 (Phase 3)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-20 20:12:19 +09:00
parent 9aa22f092d
commit cb6aa07ebc
+2 -1
View File
@@ -68,4 +68,5 @@ Project (이름/설명/공개범위) ← 작업의 기본 단위(
- Phase 2-a: 프론트 프로젝트 중심 재구성 ✅ — `types/project`·`useProject`·`project.store` 신설. `useTask`/`useMember`/`useActivity``/projects/:projectId/...` 로, task/my-task/activity 타입·스토어를 projectId/projectName 으로 전환. 알림 store 라우팅/문구 프로젝트화. 라우팅 `/projects/...` 전면 교체. 페이지 rename(Repo*→Project*): List/Create(간단 폼)/Detail/Settings/Members/Activity. `RepoHeader``ProjectHeader`, `RepoTabs``ProjectTabs`. AppShell 네비 "프로젝트". 죽은 파일(repo.store/useRepo/GiteaRepoBar) 삭제. 검증 type-check/lint/build 0.
- Phase 1 카운트 배선 ✅ — ProjectService 가 프로젝트별 연동 저장소 수·업무 완료/전체 수를 그룹 쿼리로 집계(Repo/Task forFeature 등록). ProjectMemberService 멤버 taskCount 집계 + 초대/역할변경/제거 시 활동 적재·대상자 알림 발송(Activity/Notification 모듈 주입). TaskService 미사용 집계 메서드 제거. 검증 build/lint 0·14 tests.
- Phase 2b 저장소 연동 UI ✅ — `useRepo`(프로젝트 종속) 복구, `types/repo` ApiRepo 를 새 RepoResponse(projectId 추가·members/counts 제거)로 정합. `ProjectTabs` 에 "저장소" 탭(repoCount) 추가, 신규 `ProjectReposPage`(`/projects/:id/repos`) — 연동 저장소 목록 + slug 가용성 체크 포함 연동(생성) 폼 + 연동 해제(admin). 라우트 추가. 화면 잔여 "저장소" 문구를 "프로젝트"로 정리(crumb·설정 문구·멤버 모달·주석). 검증 type-check/lint/build 0.
- 다음 = Phase 3 마무리(문서·메모리 갱신, 런타임 점검).
- Phase 3 마무리 ✅ — **런타임 점검 완료(2026-06-20)**. dev DB 초기화(데이터 디렉터리 비우고 `up -d --build`) 후 새 스키마 정상 생성, 부팅 시 "미분류" 시스템 프로젝트 생성 + Gitea 동기화가 원격 저장소 1개를 "미분류"에 import(repoCount=1) 확인. 스모크: signup→이메일 인증(로그 링크)→login→프로젝트 생성(소유자 owner/admin 등록)→프로젝트 종속 업무 생성(담당자=멤버)→목록/카운트→프로젝트 상세 totalCount·멤버 taskCount·repoCount 집계 반영→내 업무/활동 피드→연동 저장소 목록/meta/name-available 전부 정상. 프론트 200. **부수 발견·수정**: 백엔드/프론트 헬스체크 오탐(루트 프로브 404·localhost→IPv6) 교정 → 4개 컨테이너 모두 healthy(커밋 9aa22f0).
- **리팩터 완료.** 후속(별건): Phase 1 잔여 소소 항목은 카운트 배선으로 해소됨. 신규 저장소 연동의 실제 Gitea 생성 경로는 런타임 미검증(외부 부작용 회피 — 역방향 import 로 간접 검증됨).