Skip to content

Feat: 회의 기능 구현#4

Merged
Yujin1219 merged 7 commits into
developfrom
feat/meeting
Mar 28, 2026
Merged

Feat: 회의 기능 구현#4
Yujin1219 merged 7 commits into
developfrom
feat/meeting

Conversation

@ggamnunq
Copy link
Copy Markdown
Contributor

@ggamnunq ggamnunq commented Mar 27, 2026

🎯 작업 내용

주요 변경사항

  • 회의 기능 일부 구현
  • 회의에 필요한 팀 일부 구현

상세 내용

  • 팀 API 구현
    • 팀 생성 POST /api/teams
  • 회의 API 구현
    • 회의 목록 조회 GET /api/teams/{teamId}/meetings
    • 회의 기본 정보 조회 GET /api/meetings/{meetingId}
    • 회의 생성 POST /api/teams/{teamId}/meetings
    • 회의 종료 PATCH /api/meetings/{meetingId}/end
  • 실시간 회의 구현
    • WebSocket 설정 ( config, handler, interceptor )
    • 회의와 참여자 데이터를 ConcurrentHashMap로 관리하는 저장소 구현
      ( MeetingSocketRoomRepository, MeetingRoomRepository )
    • 회의 참여, 회의 퇴장에 대해 웹소켓 메시지 보내도록 구현
    • 이벤트별 메시지 형태(Message) 작성

✅ 체크리스트

  • 코드 빌드가 정상적으로 완료되었나요?
  • 코드 리뷰 요청 전 self-review를 진행했나요?

📋 API 명세서

  • 구현 API
image
  • 웹소켓 테스트

    • 유저1 접속
    image
    • 유저2 접속. 유저1의 접속 메시지 확인 가능
    image

💬 리뷰 요청사항 (선택)

  • 공통으로 사용할 수 있는 호출부 구현했습니다.
    • MeetingUseCase, MemberUseCase, TeamUseCase
    • JsonConverter : Object -> Json으로 바꿔줌
  • MeetingNotFoundException처럼 예외를 정의해둔 것들 있으니 갖다쓰면 편할거예요.

  - 웹소켓 설정 ( handler, interceptor, config )
  - 실시간 회의 정보( 회의방 정보, 참여자 정보 )를 ConcurrentHashMap으로 관리
  - 실시간 회의 처리 로직(service) 작성
  - 회의 입장 API 구현 MeetingController -> MeetingCommandService
  - duration npe 수정
  - 회의 상세 join 개선
  - 회의 종료 시 참여자 검증 조건 반대로 된거 수정
  - 회의목록 상태필터 검증 추가
  - 웹소켓 참가자 이름 기본 이름 email -> member.name으로 변경
  - JsonConverter에 Jackson모듈 자동 등록 추가
@ggamnunq ggamnunq requested a review from Yujin1219 March 27, 2026 18:58
@ggamnunq ggamnunq self-assigned this Mar 27, 2026
Copy link
Copy Markdown
Member

@Yujin1219 Yujin1219 left a comment

Choose a reason for hiding this comment

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

👍 👍

@Yujin1219 Yujin1219 merged commit c95bd85 into develop Mar 28, 2026
1 check passed
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.

2 participants