./friendq

FriendQ

FriendQ는 호스트가 공유한 크롬 탭의 영상과 오디오를 친구들과 함께 보고 실시간으로 대화할 수 있는 웹앱입니다. 참여자는 별도 프로그램 설치나 회원가입 없이 초대 링크로 입장합니다. 영상, 음성, 채팅은 Trystero와 WebRTC를 통해 참여자 브라우저 사이에서 직접 전송되며 서버에 저장하지 않습니다.

friendq.log

$ role

제품 기획, UX/UI 설계, 프론트엔드 개발, 실시간 통신 구조 설계, 운영

$ stats

참여: 링크로 바로 입장 / 전송: P2P / WebRTC / 저장: 서버 저장 없음

$ focus

  • - 크롬 탭 영상과 탭 오디오 공유
  • - 초대 링크 기반의 무가입 참여 흐름
  • - 다중 참여자 목록과 실시간 채팅

설치와 가입을 없앤 시청 흐름

호스트가 방을 만들고 초대 링크를 보내면 친구는 이름만 입력해 바로 참여할 수 있습니다. 호스트는 크롬 탭과 탭 오디오를 공유하고, 참여자는 같은 화면에서 영상 시청, 참여자 확인, 실시간 채팅을 이용합니다.

브라우저 사이에서 직접 전송

운영 서버는 FriendQ 웹페이지를 HTTPS로 제공하는 역할만 맡습니다. 영상, 음성, 채팅 데이터는 Trystero와 WebRTC를 통해 참여자 브라우저 사이에서 직접 전달되며 별도 서버나 데이터베이스에 저장하지 않습니다.

중앙 데이터베이스 없는 공개 방 로비

공개 방 호스트가 5초마다 활성 상태를 알리고, 신호가 약 15초 동안 끊기면 해당 방을 목록에서 제거합니다. 호스트가 살아 있는 방만 노출하면서 별도의 중앙 방 목록 저장소를 두지 않았습니다.

운영 환경과 연결 제약

운영 빌드는 PM2로 실행하고 기존 HTTPS 프록시를 통해 공개합니다. 별도 TURN 서버가 없어 UDP나 WebRTC를 제한하는 일부 회사, 학교, 통신망에서는 직접 연결이 실패할 수 있으며, 이 제약을 운영 문서와 문제 해결 절차에 명시했습니다.