-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Feature새로운 기능 추가입니다.새로운 기능 추가입니다.
Description
문제 정의
채팅방에서 "무슨 말을 꺼내야 할지" 막히는 순간을 줄이고, 카테고리 기반 질문 추천으로 대화 시작/유지 허들을 낮추는 기능이 필요합니다.
- 현재: 랜덤 질문 추천 (카테고리/그룹 구분 없음)
- 목표: 카테고리 선택 → A/B 그룹 정책에 따른 질문 추천
액션 아이템
백엔드 - 도메인 모델
- QuestionGroup Enum 생성 (A, B, RANDOM)
- GroupPolicy Enum 생성 (NONE, A_THEN_B, RANDOM)
- QuestionCategory Enum 수정 (usedInSignup, usedInChat, chatGroupPolicy 속성 추가)
- Question 엔티티에 questionGroup 필드 추가
- Flyway 마이그레이션 작성
백엔드 - Repository & Service
- QuestionJpaRepository 쿼리 추가 (카테고리/그룹별 미사용 질문 조회)
- QuestionService 질문 추천 로직 구현 (A그룹 우선 → B그룹)
- QuestionRecommendationResult sealed class 생성
백엔드 - Strategy 패턴 (버전 호환성)
- QuestionRecommendStrategy 인터페이스 생성
- CategoryBasedQuestionStrategy 구현 (1.3.0+)
- LegacyRandomQuestionStrategy 구현 (1.3.0 미만)
- QuestionRecommendStrategyResolver 생성
백엔드 - Controller & DTO
- QuestionRecommendRequest/Response DTO 생성
- ChatController 질문 추천 API 추가 (X-App-Version 헤더 처리)
관리자 페이지
- questionList.html 필터 개편 (카테고리/그룹/상태)
- questionForm.html 등록 폼 개편 (그룹 선택 추가)
- questionEditForm.html 수정 폼 개편
내용
관련 문서
docs/question/CHAT_QUESTION_RECOMMENDATION_PLAN.mddocs/question/QUESTION_DUAL_PURPOSE_PLAN.md
버전 정책
- 1.3.0 이상: 카테고리 기반 질문 추천 (바텀시트 UI)
- 1.3.0 미만: 기존 랜덤 질문 추천 유지
카테고리 설계 (방안 B)
VALUES: 회원가입 + 채팅방 양쪽 사용 (A→B 그룹 정책)- 회원가입 API: 그룹 무시, 모든 질문 반환
- 채팅방 API: A그룹 우선 → B그룹 순서로 추천
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Feature새로운 기능 추가입니다.새로운 기능 추가입니다.