Skip to content

Conversation

@loseminho
Copy link
Collaborator

📌 개요

  • 아바타 시스템에 대해서 멤버쉽 기능과 동일 로직 사용
    • 멤버 이상 등급 시 아바타 변경 시, 정보를 해당 방 저장되도록
    • 방문자(VISITOR) 등급 일 시, 단순 랜덤 아바타를 (3종 정도에서) 입장 시 마다 부여 받아 진행하도록
  • 스터디 룸 내 내 프로필 이미지 url 연동
  • 이에 대한 초기 데이터 추가

🔨 작업 내용

  • 아바타 시스템 완성

    • VISITOR: 입장 시 랜덤 아바타 (임시 데이터는 1, 2, 3 중 선택 되도록), 아바타 변경 가능
    • MEMBER: 멤버 등급으로 변경 된 후 아바타 변경시 DB 저장
    • 멤버 이상은 고양이 아바타 변경 시, 재입장 시 저장된 아바타 유지
  • 프로필 이미지 URL 포함

    • User.getProfileImageUrl() 활용
    • RoomMemberResponse에 포함
  • 성능 최적화

    • Redis Pipeline으로 아바타 일괄 조회
    • IN 절로 DB 쿼리 최소화
    • N+1 문제 해결
  • 아바타에 대한 확장성을 위해서

    • Avatar 엔티티로 다양한 아바타 추가 가능
    • category 필드로 고양이/강아지 등 구분 가능
  • RedisSessionStore에 범용 키밸류 저장 조회 메서드 추가

    • 이유 : 기존은 웹소켓 세션 관리용으로 설계 되어 있어서� 이를 별도로 놔두고, 단순 String 값을 받아 Redis에 저장 해야 하는 아바타 시스템에서 사용이 될 수 있도록 저장, 조회, 삭제에 대해 단순 키밸류로 받을 수 있는 범용 메서드를 추가 했습니다.

🔗 관련 이슈

Closes #235

📝 참고 사항

  • 엔티티 추가로 코드 받고 db 파일을 다시 생성 해주셔야 합니다.
  • 해당 내용에 대한 테스트 코드 작성 예정

✅ 체크리스트

  • 기능 동작 확인
  • 테스트 코드 작성
  • 문서/주석 추가 및 최신화

: 조회 분할
@loseminho loseminho self-assigned this Oct 11, 2025
@github-actions github-actions bot changed the title Feat: 스터디 룸 내에 고양이 아바타 시스템과 프로필 이미지 url 연동 Feat: 스터디 룸 내에 고양이 아바타 시스템과 프로필 이미지 url 연동 (#217) Oct 11, 2025
@loseminho
Copy link
Collaborator Author

  • AvatarService 의존성 추가 후 LazyInitializationException 발생 ( RoomService와 AvatarService가 의존성이 많아서.. )

@loseminho loseminho merged commit e0c45d7 into dev Oct 11, 2025
3 checks passed
@github-actions github-actions bot deleted the feat/217 branch October 11, 2025 13:58
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.

4 participants