[함께보기 PR2] 서비스: ViewGroups::TeamStrengthAnalyzer
ID: 2e6e0054-7e31-4598-9aeb-72f9d6830823
## 설명
기존 Workspaces::TeamStrengthAnalyzer 로직을 ViewGroup 전용으로 별도 생성.
기존 코드에 영향 없이 독립적으로 구현.
## 참고 파일
- app/services/workspaces/team_strength_analyzer.rb (핵심 로직 참고)
## 핵심 차이점
- Workspace: workspace_diagnoses 테이블 조인으로 세션 수집
- ViewGroup: view_group_members.diagnosis_session_id 직접 사용
- report_purchased: true인 세션만 대상
## 출력 데이터 구조
way_averages, synergy, members_data, team_line_chart 등 기존과 동일한 키 구조 유지.
## 완료 기준
- [ ] ViewGroups::TeamStrengthAnalyzer 서비스 생성
- [ ] ViewGroup을 받아 동일 구조의 분석 결과 반환
- [ ] 서비스 테스트 통과
- [ ] 멤버가 0명일 때 빈 결과 반환 (에러 없음)
## 의존성
- PR #1 완료 후 진행
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
서브 티켓 (1/1 완료)
활동 로그
-
팀팀리드 상태 변경: 리뷰 → 완료
2026년 03월 17일 07:54:12
-
팀팀리드 팀 작업 완료 - [함께보기 PR2] TeamStrengthAnalyzer 서비스
2026년 03월 17일 06:59:10
상세 보기
## 수정된 기능
- ViewGroups::TeamStrengthAnalyzer 서비스 구현 (Workspace 버전과 동일 출력 구조)## 생성 파일
- `app/services/view_groups/team_strength_analyzer.rb` (신규)
- `test/services/view_groups/team_strength_analyzer_test.rb` (11개 테스트)## QA 검증 결과
- 테스트: 11/11 통과, 79 assertions, 0 failures
- N+1: eager loading 올바르게 적용 (includes :user, diagnosis_session: :diagnosis_type)
- 보안: Brakeman 경고 0건, 서비스 레벨 cross-group 접근 불가
- 종합: 리뷰 진행 가능 (Critical/High 이슈 없음)## Minor 이슈 (선택적 개선)
- `view_group_members.count` 중복 호출 → 캐싱 가능
- way_scores 합계 0 케이스 테스트 없음 (코드는 방어됨) -
팀팀리드 상태 변경: 진행 중 → 리뷰
2026년 03월 17일 06:59:02
-
팀팀리드 위임: developer-1에게 'ViewGroups::TeamStrengthAnalyzer 서비스 + 테스트 구현' 작업 배정
2026년 03월 17일 06:51:35
-
팀팀리드 작업 시작 - [함께보기 PR2] TeamStrengthAnalyzer 서비스
2026년 03월 17일 06:51:28
상세 보기
## 작업 계획
- 목표: 기존 Workspaces::TeamStrengthAnalyzer를 참고하여 ViewGroups 전용 서비스 생성
- 접근 방식: developer 1명이 TDD로 서비스 + 테스트 구현, qa-verifier가 검증## 현재 상태
- PR1 DB 레이어 완료 (review 상태)
- 이번 PR2는 서비스 레이어 구현 -
팀팀리드 티켓 클레임 완료
2026년 03월 17일 06:51:16
-
팀팀리드 상태 변경: 할 일 → 백로그
2026년 03월 17일 06:33:00