Skip to content

Conversation

@ShipFriend0516
Copy link
Member

Note

작성자: 서정우
작성 날짜: 2024.11.15
관련 에픽: #3

✅ 체크리스트

  • 코드가 정상적으로 작동하는지 확인했습니다.
  • 주요 변경사항에 대한 설명을 작성했습니다.
  • 코드 스타일 가이드에 따라 코드를 작성했습니다.

🧩 작업 내용

  • 링크타고 입장시 세션에 입장되도록 구현
  • 세션 메타데이터로 세션 내부 정보 렌더링
  • 방장에게 방장 표시 구현
  • 세션 퇴장시 방장인지 일반 사용자인지에 따른 대응 차별화
  • 세션 퇴장시 모든 사용자를 내보내도록 구현

📝 작업 상세 내역

세션 메타데이터

  • 세션의 이름과 최대 인원 수를 직관적으로 볼 수 있도록 구현
    image

방장 전용 기능

  • 방장은 세션을 종료시키고 나가거나 방장을 양도하고 나갈지 선택 가능
    image
  • 방장 전용 왕관 표시 제공
    image

세션 종료시

  • 세션이 방장에 의해 종료되었을시 모두 나가짐
  • 방장이 권한을 양도하고 종료시 모두에게 알리도록 구현
    권한양도 동작 시연

twalla26 and others added 30 commits November 12, 2024 22:21
- RedisService : 레디스 클라이언트가 작업할 일련의 공통 처리 작업 모음
- MemberConnection : 각 방에 참여하는 유저의 연결 상세 정보
- Room : 방의 상세정보(메타데이터)
- create-room.dto.ts : 방 생성 시 필요한 객체 정보 정의
- 스터디 세션 생성과 관련된 비즈니스 로직
- `Redis` 등의 저장소 정보와 관심분리 목적
- `Redis subkey` 등 서브키들을 구축하는데 있어서 해당 모듈 사용
- `Redis` 자체 클라이언트와 관심 분리, 동시에 비즈니스 로직과 연관된 작업들 명시
- 방 생성에 대한 이벤트 핸들러 추가
- 방 참가에 대한 로직 변경 중..
- primitive 타입인지 object 타입인지는 개발자에게 검사하기로 넘김
- 로그문 삭제
- Postman 측에서 생긴 에러였으므로 로그문 삭제
- 추후 `DTO`와 `Pipe` 이용하여 validation 로직 추가 예정
- members 항목은 사용하지 않으므로 삭제
- 사용하지 않는 주석, 로그문 제거
- 여러 서비스의 작업으로 이루어지도록 수정
- 서비스의 작업이 간단해지도록 수정
- 방을 나가기 / 방장을 변경하기 작업을 나눔
- null 일 경우 false 를 반환하도록 `checkHost` 수정
- getRoomById 를 통해 받아오는 데이터를 단언하여 `Room` 으로 타입화
  - 타입 가드를 사용할 예정
- host를 설정해서 받아오는 로직 수정
  - 이는 추후 서비스로 올릴 예정
- 머지 과정에서 사라진 코드 복구
- `GET /api/rooms` 시, status != PRIVATE 인 모든 방 Record 반환
- 단순 소켓 배열에서 방장 정보를 확인할 수 있도록 변경했습니다.
- `all_users` 에 방 정보 추가
- `room_created` 에 방 정보 추가
…/study-session

[Feat] 스터디 세션 기능 서버측 기능 추가
@ShipFriend0516 ShipFriend0516 self-assigned this Nov 14, 2024
@ShipFriend0516 ShipFriend0516 merged commit 6ffb223 into boostcampwm-2024:dev-fe Nov 15, 2024
@ShipFriend0516 ShipFriend0516 deleted the feature/session-enter branch December 5, 2024 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants