Skip to content

클래스 추천 배틀 미리 듣기와 댓글 메뉴 가시성 개선 - #54

Merged
Roy-wonji merged 3 commits into
developfrom
feature/class-design-deadline-followup-20261019
Oct 21, 2026
Merged

Roy-wonji merged 3 commits into
developfrom
feature/class-design-deadline-followup-20261019

Conversation

@Roy-wonji

Copy link
Copy Markdown
Contributor

변경 사항

  • 클래스 추천에서 배틀을 선택하거나 1분 미리 듣기를 열 수 있도록 화면과 코디네이터 push 경로를 연결했습니다.
  • 추천 배틀 API 및 시나리오 음원을 연결하고, 미리 듣기 60초 제한과 화면 이탈·복귀 시 재생 상태를 처리했습니다.
  • 미리 듣기 화면의 분석 이벤트를 추가하고 클래스 화면의 mock 의존성과 분리했습니다.
  • 이 브랜치의 앞선 댓글·답글 메뉴 가시성 수정 2개 커밋도 함께 포함됩니다.

검증

  • ClassBattlePreviewTests 통과
  • ClassRecommendationTests를 포함한 Class 테스트 통과 (이전 실행: 77개 테스트 ID, 82회 실행, 4개 건너뜀)
  • ClassCoordinatorTests, MainTabCoordinatorTests의 관련 테스트 통과
  • Figma 참조 화면 캡처 테스트 2개 통과
  • git diff --cached --check 통과

실제 인증 세션에서 추천 API·시나리오 음원 재생과 실기기 시각 일치는 이번 검증 범위에 포함되지 않았습니다.

댓글 상세의 제목과 카드 정보를 확정 시안에 맞추고 열린 메뉴를 독립 행으로 배치한다. 중간·마지막 답글 및 부모 메뉴의 가시성을 캡처 테스트로 확인한다.
긴 답글 목록에서 부모 메뉴를 열면 해당 메뉴가 화면에 드러나는지 시뮬레이터 테스트와 캡처로 확인하고 Figma 대조 기록에 검증 범위를 남긴다.
추천 배틀 API와 1분 미리 듣기 화면을 연결하고 재생 상태와 화면 전환을 검증한다.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전반적으로 TCA, SwiftUI, Clean Architecture 원칙을 잘 준수하며 변경 사항이 적용되었습니다. 새로운 미리듣기 기능은 의존성 주입, 상태 관리, 이벤트 추적 등을 모범적으로 구현했습니다. ClassLiveRepository를 통한 점진적 서비스 전환 방식도 훌륭합니다. 댓글/답글 메뉴 스크롤 및 레이아웃 개선도 안정적으로 이루어졌습니다.

주요 개선점은 BattleScenario, ChatSpeaker와 같은 공통 도메인 모델들이 현재 HomeDomainInterface에 위치하여 Class Feature에서 이를 참조하는 부분입니다. 이러한 공통 모델은 특정 Feature의 Domain Interface가 아닌, 더 범용적인 Domain Interface 모듈(BattleDomainInterface 등)에 정의되어야 합니다. 이는 아키텍처 개선 기회로, 현재 기능 동작에는 문제가 없습니다.

.service(.analytics, .interface),
.domain(.battle, .interface),
.domain(.classroom, .interface),
.domain(.home, .interface),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 [P3] Minor

Feature/Class 모듈이 Domain/HomeDomainInterface에 의존하고 있습니다. ClassBattlePreviewFeature에서 BattleScenario 및 ChatSpeaker와 같은 모델을 사용하기 위한 것으로 보입니다. 이 모델들이 특정 '홈' 도메인에만 국한되지 않고 여러 도메인에서 공유되는 공통 모델이라면, HomeDomainInterface 대신 Domain/BattleDomain/Interface와 같이 더 범용적인 도메인 인터페이스 모듈에 정의하는 것이 바람직합니다. 이는 모듈 간 응집도와 결합도를 개선하여 더 견고한 아키텍처를 구축할 수 있습니다.

Suggested change
.domain(.home, .interface),
.domain(.battle, .interface),
// .domain(.home, .interface), // BattleScenario, ChatSpeaker 등이 HomeDomainInterface에 있다면, 해당 모델들을 BattleDomainInterface로 이동시키는 것을 고려해주세요.

@Roy-wonji
Roy-wonji merged commit e677910 into develop Oct 21, 2026
5 checks passed
@Roy-wonji
Roy-wonji deleted the feature/class-design-deadline-followup-20261019 branch October 21, 2026 14:51
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-21T14:57:23.023051Z 25d667c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant