
<aside> <img src="/icons/window_gray.svg" alt="/icons/window_gray.svg" width="40px" /> 프로젝트 소개
본 프로젝트는 WebSocket을 활용한 실시간 음성 인식 기반 협업 브레인스토밍 웹 애플리케이션입니다. 사용자가 음성 녹음을 활성화하면, Speech-to-Text 기술로 실시간 텍스트 변환이 이루어지고, WebSocket을 통해 변환된 텍스트가 서버와 클라이언트 간 빠르게 동기화됩니다.
이 텍스트 데이터는 OpenAI GPT API를 통해 분석 및 이해되어 자동으로 마인드맵 형태의 시각적 아이디어 구조로 변환되고 확장됩니다. 팀원들은 실시간으로 마인드맵을 공동 편집할 수 있으며, AI가 새롭게 입력된 내용에 맞추어 관련 아이디어 노드를 추천해 협업의 효율성과 창의성을 극대화합니다.
또한, 음성 입력 외에도 텍스트 기반 아이디어 입력, 마인드맵 이미지 추출, 사용자 맞춤형 AI 추천 기능 등 다양한 기능을 제공하여 직관적이고 인터랙티브한 협업 환경을 구현하였습니다.
프로젝트 진행 계기
팀 기반 아이디어 회의에서 음성으로 쏟아지는 다양한 의견을 실시간으로 정리하고 구조화하는 과정이 매우 비효율적임을 경험했습니다. 특히 아이디어가 많고 복잡할수록 이를 체계적으로 시각화하고 협업하는 데 어려움이 있었습니다.
이에 음성 인식 기술과 생성형 AI를 결합하여, 회의 중 실시간으로 음성을 텍스트화하고 AI가 이를 분석해 마인드맵 형태로 자동 시각화하는 협업 도구의 필요성을 느껴 프로젝트를 기획하였습니다.
WebSocket 기반 실시간 데이터 동기화와 OpenAI GPT API를 활용한 자연어 이해 및 아이디어 추천 기능을 결합함으로써, 브레인스토밍의 질적 향상과 효율적인 협업 환경 구축을 목표로 하고 있습니다.
</aside>
<aside> <img src="/icons/flag_gray.svg" alt="/icons/flag_gray.svg" width="40px" /> 프로젝트 목표
<aside> <img src="/icons/wrench_gray.svg" alt="/icons/wrench_gray.svg" width="40px" /> 사용 기술 및 솔루션
Front-End
Collaboration
<aside> <img src="/icons/check_gray.svg" alt="/icons/check_gray.svg" width="40px" /> 서비스 구현
프로젝트 최종 결과
와이어 프레임 및 기획안
시연 영상
https://eunjin03.notion.site/1fbffc6c8c658064bcd7eafa8b39df99?source=copy_link
</aside>
<aside> <img src="/icons/sign-in_gray.svg" alt="/icons/sign-in_gray.svg" width="40px" /> 로그인 및 회원가입 구현
이메일 로그인 및 회원가입을 구현.
로그인의 경우 로그인에 더불어 비밀번호 변경, 비밀번호 초기화를 구현
회원가입의 경우 이메일 중복 체크, 이메일 인증, 동의를 구현
또한 카카오, 구글, 네이버 로그인을 구현함.



</aside>
<aside> <img src="/icons/light-bulb_gray.svg" alt="/icons/light-bulb_gray.svg" width="40px" /> 아이디에이션 페이지 구성
주기능 페이지인 아이디에이션 페이지를 구성 및 개발함
react-media-recorder, react-speech-recognition 라이브러리를 활용하여 실시간 스크립트를 생성, NodeJS.Timeout 사용으로 time stamp 생성, 서버에서 오늘 실시간 요약을 띄움
추후 웹소켓 연결로 헤더바에 참여자 목록 업데이트 기능 추가 예정


</aside>
<aside> <img src="/icons/light-bulb_gray.svg" alt="/icons/light-bulb_gray.svg" width="40px" /> 기타 세부 기능 개발
프로젝트 초대(공유하기) 기능 및 모달 제작
프로젝트 이름 수정 및 제거 기능 개발
프로필 수정 기능 개발


</aside>
<aside> <img src="/icons/child_blue.svg" alt="/icons/child_blue.svg" width="40px" /> 제목
</aside>
<aside> <img src="/icons/person-masculine_pink.svg" alt="/icons/person-masculine_pink.svg" width="40px" /> 아쉬웠던 점
</aside>
<aside> <img src="/icons/checkmark-line_gray.svg" alt="/icons/checkmark-line_gray.svg" width="40px" /> 제목
</aside>