Next.js, Stream, Firebase를 활용한 실시간 비디오 상담 마켓플레이스 앱 구축 가이드
🤖 AI 추천
이 튜토리얼은 Next.js, Stream, Firebase를 사용하여 클라이언트와 테라피스트 간의 실시간 비디오 상담 및 예약 시스템을 구축하고자 하는 풀스택 개발자, 프론트엔드 개발자 및 백엔드 개발자에게 매우 유용합니다. 특히 실시간 채팅, 화상 통화 기능 통합 및 Firebase를 활용한 백엔드 구축 경험을 쌓고 싶은 미들 레벨 이상의 개발자에게 추천합니다.
🔖 주요 키워드

핵심 기술
본 튜토리얼은 Next.js를 프레임워크로 사용하여 사용자가 테라피스트를 찾고, 채팅하며, 가상 상담 세션을 예약할 수 있는 상담 마켓플레이스 앱을 구축하는 방법을 상세히 안내합니다. 백엔드 운영은 Firebase가 담당하며, 실시간 채팅 및 화상 통화 기능은 Stream을 통해 구현됩니다.
기술적 세부사항
- 사용자 유형: 테라피스트와 클라이언트 두 가지 유형의 사용자를 지원합니다.
- 테라피스트: 전문 분야 및 시간당 요금 설정, 예약 및 결제 관리, 클라이언트와의 채팅 및 화상 세션 예약, 세션 후 리뷰 수신 기능을 갖습니다.
- 클라이언트: 전문 분야 및 필요에 따라 테라피스트 검색 및 예약, 예약 확정 후 테라피스트와 채팅, 1:1 가상 세션 참여, 테라피스트 프로필 리뷰 작성을 할 수 있습니다.
- 주요 기술 스택:
- Next.js: React 기반의 프레임워크로 프로젝트 설정 및 개발 환경을 구성합니다.
- Firebase: 인증, 실시간 데이터베이스 (Firestore), 파일 스토리지 등 백엔드 서비스 제공에 사용됩니다.
- Stream Chat Firebase Extension: Firebase 사용자와 Stream 사용자를 자동 연결합니다.
- Stream React Chat & React Video SDK: 실시간 채팅 및 화상/음성 통화 기능을 구현합니다.
- Shadcn UI: 커스터마이징 가능한 UI 컴포넌트 라이브러리로 시각적인 요소를 구축합니다.
- Firebase 설정 및 연동:
- Next.js 프로젝트 생성 (
npx create-next-app therapy-app
). - 필수 패키지 설치 (
firebase
,@stream-io/node-sdk
,@stream-io/video-react-sdk
,stream-chat
,stream-chat-react
). lib/firebase.ts
파일을 생성하여 Firebase 초기화 및 인증, Firestore, Storage 관련 설정을 구성합니다.- Firebase 콘솔에서 프로젝트 생성 및 웹 앱 등록, Firebase 서비스(Authentication, Firestore Database, Storage) 활성화.
- Next.js 프로젝트 생성 (
- 사용자 인증 (클라이언트):
lib/auth-functions.ts
파일에 클라이언트 회원가입(clientSignUp
), 로그인(clientLogin
), 로그아웃(authLogout
) 함수를 구현합니다.clientSignUp
: 이메일/비밀번호로 계정 생성 후 Firestore의 'clients' 컬렉션에 사용자 정보 저장.clientLogin
: 이메일/비밀번호로 로그인 후, 'clients' 컬렉션에 사용자 문서 존재 여부 확인하여 클라이언트임을 인증.
- 사용자 인증 (테라피스트):
therapistSignUp
함수 구현 (현재까지는 함수 선언 및 기본 데이터 처리까지만 설명됨).- 향후 테라피스트 계정 생성, 프로필 이미지 업로드(Firebase Storage), 다운로드 URL 확보, Firestore의 'therapists' 컬렉션에 정보 저장 등의 과정이 필요합니다.
개발 임팩트
이 튜토리얼을 통해 개발자는 다음과 같은 역량을 강화할 수 있습니다:
* 최신 웹 기술 스택(Next.js, Firebase, Stream)을 활용한 풀스택 애플리케이션 개발 능력.
* 실시간 채팅 및 화상 통신 기능 통합 경험.
* 클라우드 기반 백엔드 서비스(Firebase)를 효율적으로 활용하는 방법.
* 인증 시스템 및 사용자 데이터 관리 구현 능력.
* 재사용 가능한 UI 컴포넌트 활용 및 커스터마이징 능력.
커뮤니티 반응
(본문에는 커뮤니티 반응에 대한 언급이 없습니다.)
📚 관련 자료
next.js
프레임워크 자체에 대한 공식 저장소로, React 기반의 서버 사이드 렌더링 및 정적 웹 페이지 생성 기능을 제공하며 본 튜토리얼의 기본 프레임워크로 활용됩니다.
관련도: 95%
firebase-js-sdk
Firebase의 JavaScript SDK로, 인증, Firestore 데이터베이스, 스토리지 등 Firebase의 다양한 기능을 클라이언트 측에서 연동하고 관리하는 데 필요한 핵심 라이브러리입니다.
관련도: 90%
stream-react-sdk
Stream의 React SDK로, 튜토리얼에서 사용자 간 실시간 채팅 및 화상 통화 기능을 구축하는 데 사용되는 라이브러리입니다. UI 컴포넌트와 통신 기능을 제공합니다.
관련도: 90%