Skip to content

Conversation

@soochan8
Copy link
Collaborator

📌 Issue

🔖 요약

  1. 좋아요 기능 구현
  2. 사용자별 좋아요 탭 구성

🛠 작업 내용

  1. LikeDataStoreManager
  • @Singleton으로 선언하여 사용자 ID에 따라 LikeDataStore를 제공합니다.
  1. like.proto
  • 실제 서비스에서는 가격 등 여러 변동 사항이 있을 수 있기 때문에 아래와 같이 설계하였습니다.
  • 클릭한 상품의 ID를 저장하였습니다. 좋아요 탭에서 목록으로 보여줄 때 저장한 상품의 ID를 통해 상품 목록을 불러와 보여주도록 설계하였습니다.
  1. LikeViewModel
  • observeLikes: 좋아요 등록/해제한 상품의 id를 구독합니다.
  • loadFavorites: 좋아요 목록을 가져와 UI에 표현합니다. 좋아요 탭에서 좋아요 등록/해제를 할 때는 항목이 사라지지 않게 하기 위해 해당 메소드는 좋아요 탭에 진입했을 때만 호출하도록 설계하였습니다.
  • toggleFavorite: 좋아요 등록/해제 시, dataStore에 저장하도록 하였습니다.
  1. LogoutUseCase
  • 로그아웃 시, 기존 LikeDataStore 초기화하였습니다.

- product_ids 저장
- GetLikedProductIdsUseCase: 좋아요 누른 상품의 id
- GetLikedProductsUseCase: 좋아요 누른 상품 model
- ToggleLikeUseCase: 좋아요 설정 및 해제
- getLikeStore()를 통해 유저별로 좋아요 항목 관리
- observeLikes(): 좋아요 설정/해제 상품 id 구독
- loadFavorites(): 좋아요 목록 구성
- toggleFavorite(): 좋아요 설정/해제 이벤트
@soochan8 soochan8 requested a review from f-lab-pepe November 21, 2025 08:34
@soochan8 soochan8 self-assigned this Nov 21, 2025
@soochan8 soochan8 added the feat 새로운 기능 추가 label Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants