Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat]: #61 수동매칭 CRUD 구현 #61

Open
4 tasks done
huncozyboy opened this issue Jan 30, 2025 · 0 comments · May be fixed by #63
Open
4 tasks done

[Feat]: #61 수동매칭 CRUD 구현 #61

huncozyboy opened this issue Jan 30, 2025 · 0 comments · May be fixed by #63
Assignees
Labels
✨ Feature 기능 개발 및 요구사항 변경 반영 🔨 Refactor 코드 리팩토링

Comments

@huncozyboy
Copy link
Member

huncozyboy commented Jan 30, 2025

📢 무엇을?

사용자가 출발시간, 위치정보, 태그, 추가정보, 친구추가(추후 구현 예정), 등을 입력해서 방을 생성해주고, 수동으로 참여자를 찾는 로직을 구현하려 합니다

자동 매칭과 수동 매칭의 차이점은 방 생성 방식이고, 사용자가 직접 매칭방에 참여하는 형태라
별도의 알고리즘 서비스가 필요없다고 판단하여서, ManualMatchingService로 구현 예정입니다
자동 매칭과 달리 Kafka 이벤트 발행 없이 DB에만 매칭이 생성되도록 구현 예정입니다

✅ TODO

  • MatchingRoom(room_type = MANUAL) 생성 로직
    기존 match_room 테이블에 생성 후, 방을 생성한 사용자 방장으로 지정
  • MatchingRoom(room_type = MANUAL) 참여 로직
    기존에 생성된 수동매칭 방에 사용자가 참가할 수 있는 기능(인원초과, 태그 불일치 등 예외처리)
    참여 후에 match_room 테이블 마찬가지로 업데이트
  • 방장 취소 및 방 삭제 처리
    자동 매칭과 동일한 로직 재사용해서 방장이 나가면 새로운 방장 지정
    방장을 제외하고 참가자가 없는 경우, 방 삭제 처리, 동일하게 match_room 테이블 업데이트
  • 수동 매칭 → 자동 매칭 전환 로직
    10분 남았는데 인원이 부족한 경우에 current_members < max_capacity를 확인해줘서 자동 전환
    Kafka 이벤트발행 없이 room_type = AUTO로 변경
    해당 로직은 한 PR에 작업 내용이 너무 커져서, 서비스 단만 구현해놓고 추후에 별도의 이슈 생성 후 고도화 작업시 진행하겠습니다
@huncozyboy huncozyboy added ✨ Feature 기능 개발 및 요구사항 변경 반영 🔨 Refactor 코드 리팩토링 labels Jan 30, 2025
@huncozyboy huncozyboy self-assigned this Jan 30, 2025
@huncozyboy huncozyboy changed the title [Feat]: #60 수동매칭 CRUD 구현 [Feat]: #61 수동매칭 CRUD 구현 Jan 30, 2025
@huncozyboy huncozyboy linked a pull request Jan 31, 2025 that will close this issue
@huncozyboy huncozyboy linked a pull request Jan 31, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 기능 개발 및 요구사항 변경 반영 🔨 Refactor 코드 리팩토링
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant