FIRE WIKI : 2022-09-27 실시간 상태 공유, 조항준 멘토님 UX

실시간 상태 공유

회의자: 고주형 이하령

관련 이슈: FIRE-689 - 다른 사용자 볼륨 조절 가능 완료됨

현재의 서버 방식

기존의 방식

Room에 A, B 참여중

C라는 사람이 들어오면?

joinRoom(C) 발생

A, B:

  • newUser 이벤트 받음

    • C id 수신

C: 

  • ExistingRoomUser 이벤트 받음

    • A id 수신

    • B id

제안

제안1: ExistingRoom, newRoom에서 추가적으로 실시간 상태의 초기값을 실어서 보내주고 실시간 통신용으로는 따로 이벤트를 만들어서 하자

제안2: joinRoom이후에 별도의 event를 통해 사용자의 state 공유

  • 마이크는 기존의 onMediaChange 쓰자

제안2 채택 이유

실시간 동기화 상태를 처리하기 위한 방법을 통일해서 일관성 있게 유지하자 

  • 실시간 상태 요소: 음소거(Socket), 비디오(WebRTC logic -> Socket??), 접속중, 

제안1의 경우 매번 새로운 실시간 상태가 추가로 공유되어야 하는 경우 joinRoom을 수정해줘야 한다.

결론

제안2 채택

프론트에서 고민해야 할 것

UI 참가 = 참가한 사람이 보임, 들림

참가 기준을 뭐로 둘 것인가? 

  • 모든 상태가 불러와졌을 때 

  • 그냥 상대가 들어온 것이 인식되자마자(서버 로직이 수행)


조항준 멘토님 멘토링

  • 카드가 너무 크다

    • 정사각형

  • 새로 방 생성

    • 그냥 + 버튼만 있어도 될듯

    • 가장 처음에 나오는게 맞나? 가장 중요하나?

  • 버튼 통일성

    • 현재는 버튼이라는 느낌 x

  • 내가 만든 방이 가장 먼저 나오게

  • 랜딩페이지 페이지화 나누고

    • 사진, 시각화 필요

  • 입장했던방

    • 언제했는지

    • 그 방에서 얼마나 했는지

  • 개인 프로필 사진 업로드할 수 있게

  • 사용자의 입력 작업 최소화

    • 방 만들때 최대 인원수 default 4

  • 기능 리스트 테이블 작성하기