Co-Talk PRD (Product Requirements Document)

버전 2.0 - 2026-01-29 업데이트

Co-Talk은 “Co”를 통해 다양한 형태의 의미 있는 대화를 연결하는 플랫폼입니다.


1. 제품 개요

1.1 제품 목적

Co-Talk은 대화에 집중한 커뮤니케이션 플랫폼입니다.

초기에는 1:1 대화에 집중하여, 불필요한 기능 없이 진정한 대화 경험을 제공합니다. 특정 목적을 가진 관계(커플, 팀, 커뮤니티 등)에서 대화 자체에 집중할 수 있는 환경을 만듭니다.

1.2 타겟 사용자

1.3 핵심 가치 제안


2. 기능 요구사항

2.1 사용자 계정 관리 (P0)

2.1.1 회원가입

2.1.2 로그인

2.1.3 로그아웃

2.1.4 프로필 설정


2.2 친구 관리 (P0)

2.2.1 친구 검색

2.2.2 친구 요청 보내기

2.2.3 친구 요청 수락/거절

2.2.4 친구 목록 조회

2.2.5 친구 삭제


2.3 1:1 채팅 (P0)

2.3.1 채팅방 생성

2.3.2 채팅방 목록 조회

2.3.3 채팅방 입장

2.3.4 채팅방 나가기


2.4 메시지 기능 (P0)

2.4.1 메시지 전송

2.4.2 메시지 수신

2.4.3 메시지 히스토리 조회

2.4.4 읽음 표시

2.4.5 메시지 시간 표시


2.5 실시간 통신 (P1)

2.5.1 실시간 메시지 수신

2.5.2 온라인 상태 표시 (선택)


3. 사용자 플로우

3.1 신규 사용자 플로우

1
2
3
4
5
6
7
8
9
10
11
12
13
1. 회원가입
   ↓
2. 로그인
   ↓
3. 프로필 설정 (닉네임)
   ↓
4. 친구 검색
   ↓
5. 친구 요청 보내기
   ↓
6. (상대방이 수락하면) 채팅방 자동 생성
   ↓
7. 메시지 전송/수신

3.2 기존 사용자 플로우

1
2
3
4
5
6
7
1. 로그인
   ↓
2. 채팅 목록 확인
   ↓
3. 채팅방 선택 또는 새 친구 추가
   ↓
4. 메시지 주고받기

4. 화면 구성

4.1 로그인 화면

4.2 회원가입 화면

4.3 채팅 목록 화면

4.4 친구 목록 화면

4.5 친구 검색 화면

4.6 채팅방 화면

4.7 프로필 설정 화면


5. 비기능 요구사항

5.1 성능

5.2 보안

5.3 가용성

5.4 확장성


6. 구현 현황 및 제외 기능

6.1 구현 완료된 기능 ✅

핵심 기능 (P0)

| 기능 | 백엔드 | Flutter | 상태 | |——|——–|———|——| | 회원가입/로그인 | ✅ | ✅ | 완료 | | JWT 인증 (Access + Refresh) | ✅ | ✅ | 완료 | | 프로필 설정 | ✅ | ✅ | 완료 | | 친구 검색/추가/삭제 | ✅ | ✅ | 완료 | | 친구 요청 수락/거절 | ✅ | ✅ | 완료 | | 1:1 채팅 | ✅ | ✅ | 완료 | | 실시간 메시지 (WebSocket) | ✅ | ✅ | 완료 | | 읽음 표시 (카톡 스타일) | ✅ | ✅ | 완료 | | 메시지 히스토리/페이징 | ✅ | ✅ | 완료 |

확장 기능 (구현 완료)

| 기능 | 백엔드 | Flutter | 상태 | |——|——–|———|——| | 파일/이미지 전송 | ✅ | ✅ | 완료 | | 메시지 삭제/수정 (5분 이내) | ✅ | ✅ | 완료 | | 메시지 검색 | ✅ | ✅ | 완료 | | 타이핑 인디케이터 | ✅ | ✅ | 완료 | | 온라인 상태 표시 | ✅ | ✅ | 완료 | | 푸시 알림 (FCM) | ✅ | ✅ | 완료 | | 프로필 사진 업로드 | ✅ | ✅ | 완료 | | 리액션 (이모지) | ✅ | ✅ | 완료 | | 메시지 답장 | ✅ | ✅ | 완료 | | 메시지 전달 | ✅ | ✅ | 완료 | | Rate Limiting | ✅ | - | 완료 |

6.2 부분 구현 기능 🚧

기능 백엔드 Flutter 비고
그룹 채팅 ✅ API 완료 ❌ UI 없음 그룹 생성 화면 필요

6.3 미구현 기능 ❌

기능 우선순위 비고
이모티콘/스티커 팩 P2 커스텀 스티커
음성 메시지 P3 녹음 및 재생
영상/음성 통화 P3 WebRTC 필요
차단 기능 P2 사용자 차단

6.4 기술 스택 (현재)

영역 기술
Backend Java 25, Spring Boot 3.5, PostgreSQL, Redis
Frontend Flutter (iOS, Android)
실시간 WebSocket (STOMP), Redis Pub/Sub
파일 저장 MinIO (S3 호환)
푸시 Firebase Cloud Messaging
인증 JWT (Access + Refresh Token)
모니터링 Prometheus, Zipkin, Loki
배포 Docker, Kubernetes

6.5 플랫폼 전략 (현재)


7. 성공 지표 (KPI)

7.1 사용자 지표

7.2 참여 지표

7.3 품질 지표


8. 로드맵

✅ Phase 1 - MVP (완료)

✅ Phase 2 - 확장 기능 (완료)

🚧 Phase 3 - 진행 중

📋 Phase 4 - 예정


9. 리스크 및 대응 방안

9.1 기술적 리스크

9.2 사용자 경험 리스크


10. 참고 사항


변경 이력

버전 날짜 변경 내용
1.0 2024-01 초기 PRD 작성
2.0 2026-01-29 구현 현황 반영, 로드맵 업데이트, 기술 스택 현행화