T-003.txt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # 파트너 매칭 시스템 구축
  2. **Task ID:** T-003
  3. **Status:** BACKLOG
  4. **Importance:** MUST
  5. **Complexity:** 7/10
  6. **Urgency:** 8/10
  7. **Dependencies:** T-001, T-002
  8. ## Description
  9. # 설명
  10. 벤더사가 설정한 카테고리·팔로워 수 등 조건에 따라 인플루언서를 추천하고, 제안·수락·거절 플로우와 알림을 구현합니다.
  11. ## 구현 상세
  12. 1. DB 설계 및 Migration(CI4)
  13. - `matching_requests`, `matching_rules`, `influencer_profiles` 테이블 추가
  14. - 주요 조회 컬럼 인덱스 구축 및 Redis 캐싱 전략 수립
  15. 2. 백엔드 매칭 알고리즘(CI4 Service)
  16. - 조건 필터링 로직 구현(PHP pseudo-code):
  17. ```php
  18. $query = $this->influencerModel->whereIn('category', $rules->categories)
  19. ->where('followers >=', $rules->min_followers)
  20. ->limit(50)
  21. ->findAll();
  22. ```
  23. - BFF(Node.js)로 프론트엔드 전용 `GET /matches` API 작성
  24. 3. Frontend(Nuxt3)
  25. - 검색 UI 및 추천 리스트 컴포넌트 구현, Vuetify DataTable로 페이징/필터링 처리
  26. - 제안·수락·거절 버튼 클릭 시 Socket.IO를 통해 실시간 알림 발송/수신 처리
  27. 4. 알림 센터 연동
  28. - 주문/승인 알림과 동일한 WebSocket 채널 사용, Subscription 이벤트 등록
  29. 5. 확장성 고려
  30. - 향후 AI 추천 모듈 연동을 위한 추상화 인터페이스 정의
  31. ## 테스트 전략
  32. - 매칭 알고리즘 유닛 테스트: 다양한 조건 조합 테스트 커버리지 90% 이상
  33. - API 통합 테스트: `GET /matches`, `POST /requests`, `PATCH /requests/:id` 흐름 검증
  34. - Frontend E2E: 검색 필터, 제안·수락·거절 플로우, 실시간 알림 수신 검증
  35. ---
  36. **Created:** 2025-07-17T02:02:42.157Z
  37. **Updated:** 2025-07-17T02:02:42.157Z