1번째 프로젝트 V-Talk 현재상황

V-Talk 프로젝트: 현재까지의 진행도

저희 팀이 개발한 V-Talk는 협업을 위한 다양한 기능을 갖춘 웹 기반 플랫폼입니다. 현재까지 아래와 같은 핵심 기능들이 완성되었습니다.

1. 사용자 계정 시스템

  • 로그인 및 회원가입: 이메일과 비밀번호로 간단하게 회원가입하고 로그인할 수 있습니다.
  • 개인 프로필: 회원가입 시 닉네임을 설정하고 프로필 사진을 업로드할 수 있으며, 이 정보들은 Firestore라는 데이터베이스에 안전하게 저장됩니다.
  • 계정 관리: 로그인 후에는 ‘설정’ 페이지에서 닉네임이나 프로필 사진을 바꾸고, 필요 시 계정을 삭제할 수도 있습니다.

2. 채팅 및 커뮤니케이션 기능

  • 실시간 채팅: 채팅방을 만들고 실시간으로 메시지를 주고받을 수 있는 기본적인 채팅 기능이 구현되었습니다.
  • 화면 공유: WebRTC 기술을 활용해 실시간으로 내 컴퓨터 화면을 다른 사람들에게 보여줄 수 있습니다.
  • 음성 채팅: 채팅방 멤버들과 실시간으로 대화할 수 있는 음성 채팅 기능도 구현되어 있습니다.

3. 협업 보조 기능

  • 친구 시스템: 친구를 추가하고, 친구 요청을 보내고, 받은 요청을 수락하거나 거절할 수 있습니다. 친구 목록은 실시간으로 확인됩니다.
  • 일정 관리 캘린더: 캘린더에서 특정 날짜를 선택해 일정을 추가할 수 있습니다. 추가로, 친구의 닉네임을 입력해서 내 일정을 친구와 공유할 수도 있습니다.
  • 파일 공유: 채팅방 내에서 파일을 업로드하고, 업로드된 파일 목록을 확인하고 다운로드할 수 있습니다.

이 모든 기능은 Firebase라는 클라우드 서비스를 사용하여 실시간으로 연동되며, 사용자가 편리하게 협업할 수 있도록 돕습니다.

개선할점

1. 사용자 경험(UX) 및 인터페이스 개선

  • UI/UX 디자인 부족: V-talk의 메인화면과 화면공유를 하는 과정이나 여러가지 디자인적 부분이 부족합니다. 사용자가 사용하기 더욱 편리하게 디자인을 바꿀 필요가 있습니다.
  • 실시간 친구요청 받기: 현재 구현되어있는 친구요청은 실시간으로 전송이 되지만 시간이 조금 오래걸린다는 단점이 있습니다. 코드를 최적화를 하여 원활하게 구동이 되도록 개선할 필요가 있습니다.

2. 코드 구조 개선

  • 코드 모듈화: index.js 파일이 사용자 인증, 캘린더, 채팅, WebRTC 등 매우 다양한 기능을 한 번에 처리하고 있어 코드 길이가 깁니다. 각 기능을 별도의 파일로 분리하면 코드를 관리하고 유지보수하기가 훨씬 쉬워집니다. 예를 들어, 캘린더 관련 로직은 celender.js 로, 채팅 관련 로직은 chat.js 로 분리할 수 있습니다.

3. 기능적인 부분의 확장 및 보완

  • 채팅방 기능 확장: 채팅방에 파일을 업로드하고 다운로드하는 기능이 이미 구현되어 있습니다. 이 외에도 이모티콘, 이미지 공유, 채팅 메시지 편집/삭제 기능 등을 추가하면 좋습니다.
  • 화상 기능 추가: 화상 기능을 추가하면서 음성 채팅과 화면 공유 기능에 마이크 및 카메라 온/오프, 음소거, 영상 켜기/끄기 같은 세부적인 컨트롤 버튼을 추가하는 계획을 함께 언급하면 더욱 풍부한 발표가 될 것입니다.
  • 프로필 기능 강화: 프로필 사진을 Base64로 저장하는 현재 방식의 한계를 정확하게 파악하셨습니다. Firebase storage를 활용하여 이미지 파일을 별도로 저장하면, Firestore 문서의 용량 제한(1MB)을 넘어서는 고해상도 이미지도 문제없이 다룰 수 있게 됩니다.

Be the first to comment

Leave a Reply

Your email address will not be published.


*