diff --git a/design/userstory.md b/design/userstory.md index 94dc4be..81145bf 100644 --- a/design/userstory.md +++ b/design/userstory.md @@ -1,10 +1,61 @@ -# KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 유저스토리 +# KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 유저스토리 (프로토타입 반영) + +> 🔄 **업데이트 일자**: 2025-10-21 +> 📋 **프로토타입 기준**: 30개 화면 분석 완료 +> ✅ **주요 변경**: AI 영상 제작 추가, 네비게이션 구조 개선, UI 플로우 최적화 + +--- + +## 📊 프로토타입 분석 요약 + +### **주요 발견 사항** +1. ✅ **AI 영상 제작 화면 추가** - 기존 유저스토리에 누락되어 있던 핵심 기능 +2. ✅ **하단 네비게이션 구조** - 주요 5개 메뉴 (홈/이벤트/만들기/분석/MY) +3. ✅ **이벤트 기획안 승인** - AI 예상 성과 표시 기능 강화 +4. ✅ **배포 채널 선택** - KT 채널과 SNS 채널 명확히 구분 +5. ✅ **실시간 대시보드** - 채널별 성과 링크 및 최근 활동 표시 + +### **화면 플로우 (30개)** +``` +00 로그인 +01 회원가입 +02 매장정보등록 +03 홈화면 ⭐ (하단 네비게이션 시작) +04 이벤트목적선택 +05 AI트렌드분석결과 +06 AI이벤트상품추천 +07 AI참여방법설계 +08 AI홍보문구생성 +09 AI이미지생성 +10 이벤트기획안승인 ⭐ (AI 예상 성과 표시) +11 AI영상제작 ⭐ (신규 추가) +12 SNS콘텐츠생성 +13 QR포스터생성 +14 QR포스터생성선택 +15 QR포스터상세설정 +16 콘텐츠편집 +17 콘텐츠최종승인 +18 배포채널선택 ⭐ (KT/SNS 채널 구분) +19 배포진행상태 +20 오프라인자료다운로드 +21 이벤트참여 +22 참여완료 +23 당첨자명단관리 +24 실시간대시보드 ⭐ (채널별 성과 링크 추가) +25 채널별성과분석 +26 ROI분석 +27 분석리포트 +28 이벤트목록 +29 마이페이지 +``` + +--- ## 마이크로서비스 구성 1. **User** - 회원 인증 및 매장 정보 관리 2. **Event Planning** - AI 기반 이벤트 자동 기획 -3. **Content Generation** - AI 기반 콘텐츠 자동 생성 +3. **Content Generation** - AI 기반 콘텐츠 자동 생성 (이미지 + **영상**) 4. **Distribution** - 다중 채널 자동 배포 5. **Participation** - 이벤트 참여 및 접수 관리 6. **Analytics** - 실시간 효과 측정 및 분석 @@ -51,32 +102,48 @@ UFR-USER-002: [홈화면] 소상공인으로서 | 나는, 로그인 후 | 내 로그인 완료 후 | 홈 화면에 접속하면 | 진행 중인 이벤트 요약, 최근 성과, 새 이벤트 생성 버튼이 표시된다. [홈 화면 구성 요소] - - [ ] 환영 메시지 (매장명 표시) - - [ ] 대시보드 요약 + - [ ] 환영 메시지 (사용자명 표시: "안녕하세요!") + - [ ] 빠른 액션 버튼 (상단) + - "✨ 새 이벤트" (UFR-PLAN-010으로 이동) + - "📋 이벤트 목록" (UFR-USER-030으로 이동) + - "📊 실시간 현황" (UFR-ANAL-010으로 이동) + - "⚙️ 설정" + - [ ] 대시보드 요약 카드 - 진행 중인 이벤트 수 - - 총 참여자 수 (이번 달) - - 총 광고 수익률 (이번 달) - - [ ] 진행 중인 이벤트 목록 (최대 3개 표시) - - 이벤트명 - - 남은 기간 - - 현재 참여자 수 - - "상세 보기" 버튼 - - [ ] 빠른 액션 버튼 - - "새 이벤트 생성" (PLAN-010으로 이동) - - "모든 이벤트 보기" - - "성과 분석 보기" + - 총 참여자 수 + - 전환율 (%) + - [ ] AI 인사이트 섹션 + - 🤖 AI 인사이트 제목 + - "이벤트를 생성하시면 AI가 맞춤형 인사이트를 제공해드립니다" 안내 메시지 + - [ ] 최근 이벤트 섹션 + - "최근 이벤트" 제목 + - "전체보기" 링크 (UFR-USER-030으로 이동) + - 최근 이벤트 목록 (최대 3개) + - [ ] 첫 이벤트 안내 (이벤트 없을 경우) + - 🎯 아이콘 + - "첫 이벤트를 만들어보세요!" 제목 + - "AI가 업종과 목적에 맞는 최적의 이벤트를 추천해드립니다" 설명 + - "AI 이벤트 만들기" 버튼 (UFR-PLAN-010으로 이동) + + [하단 네비게이션 바] ⭐ 신규 추가 + - [ ] 홈 (현재 화면, UFR-USER-002) + - [ ] 이벤트 (UFR-USER-030) + - [ ] 만들기 (UFR-PLAN-010) + - [ ] 분석 (UFR-ANAL-010) + - [ ] MY (UFR-USER-040) [처리] - - [ ] 사용자 정보 조회 (매장명) + - [ ] 사용자 정보 조회 - [ ] 진행 중인 이벤트 목록 조회 - - [ ] 이벤트 통계 집계 (이번 달 기준) + - [ ] 이벤트 통계 집계 [네비게이션] - [ ] 새 이벤트 생성 버튼 → UFR-PLAN-010 - - [ ] 이벤트 상세 보기 → 해당 이벤트 대시보드 - - [ ] 성과 분석 보기 → UFR-ANAL-010 + - [ ] 이벤트 목록 → UFR-USER-030 + - [ ] 실시간 대시보드 → UFR-ANAL-010 + - [ ] 마이페이지 → UFR-USER-040 -- M/8 +- M/13 --- @@ -104,7 +171,7 @@ UFR-USER-010: [회원가입] 소상공인으로서 | 나는, 이벤트 자동 UFR-USER-020: [매장정보등록] 소상공인으로서 | 나는, 맞춤형 이벤트를 생성하기 위해 | 내 매장 정보를 등록하고 싶다. - 시나리오: 매장 정보 입력 및 사업자번호 검증 - 회원가입 완료 후 | 매장명, 업종, 주소, 사업자번호, 메뉴 정보를 입력하면 | 사업자번호 검증 후 매장 정보가 저장되고 무료 체험 쿠폰이 발급된다. + 회원가입 완료 후 | 매장명, 업종, 주소, 사업자번호, 메뉴 정보를 입력하면 | 사업자번호 검증 후 매장 정보가 저장되고 홈 화면으로 이동한다. [입력 요구사항] - [ ] 매장명 입력 (최대 50자) @@ -124,39 +191,107 @@ UFR-USER-020: [매장정보등록] 소상공인으로서 | 나는, 맞춤형 이 - [ ] 매장명과 사업자 정보 일치 확인 [처리 결과] - - [ ] 검증 성공 시 매장 정보 DB 저장 + - [ ] 검증 성공 시 매장 정보 DB 저장 → 홈 화면(UFR-USER-002)으로 이동 - [ ] 검증 실패 시 구체적인 오류 알림 제공 - 형식 오류: "사업자번호 형식이 올바르지 않습니다. (XXX-XX-XXXXX 형식으로 입력해주세요)" - 유효성 오류: "등록되지 않은 사업자번호입니다. 번호를 다시 확인해주세요." - 휴폐업: "휴업 또는 폐업된 사업자입니다. 현재 운영 중인 사업자번호를 입력해주세요." - 정보 불일치: "입력하신 매장명과 사업자 정보가 일치하지 않습니다." - - API 연동 오류: "사업자번호 확인 중 오류가 발생했습니다. 잠시 후 다시 시도해주세요." - [ ] 오류 발생 시 해당 필드 강조 표시 및 포커스 이동 - [ ] 재입력 가능하도록 UI 유지 - - [ ] 오류 로그 기록 (감사 추적용) - M/13 --- +UFR-USER-030: [이벤트목록] 소상공인으로서 | 나는, 이벤트를 관리하기 위해 | 전체 이벤트 목록을 확인하고 상세보기를 할 수 있어야 한다. +- 시나리오: 이벤트 목록 조회 + 홈 화면 또는 하단 네비게이션에서 | 이벤트 목록을 선택하면 | 진행 중, 종료됨, 전체 이벤트 목록이 표시된다. + + [목록 구성 요소] + - [ ] 필터 탭 (진행 중 / 종료됨 / 전체) + - [ ] 이벤트 카드 정보 + - 이벤트명 + - 진행 상태 (진행 중 / 종료됨) + - 참여자 수 + - 남은 기간 또는 종료 일자 + - "상세보기" 버튼 + - [ ] 페이지네이션 (10개씩 표시) + + [처리] + - [ ] 이벤트 목록 조회 (사용자별) + - [ ] 진행 상태별 필터링 + - [ ] 정렬 (최신순) + + [네비게이션] + - [ ] 이벤트 상세보기 → 실시간 대시보드(UFR-ANAL-010) + - [ ] 새 이벤트 만들기 → UFR-PLAN-010 + +- M/8 + +--- + +UFR-USER-040: [마이페이지] 소상공인으로서 | 나는, 내 정보를 관리하기 위해 | 회원 정보와 매장 정보를 조회하고 수정하고 싶다. +- 시나리오: 마이페이지 조회 및 수정 + 하단 네비게이션에서 | MY를 선택하면 | 회원 정보, 매장 정보, 설정을 확인하고 수정할 수 있다. + + [마이페이지 구성 요소] + - [ ] 프로필 섹션 + - 사용자명 + - 이메일 + - 전화번호 + - [ ] 매장 정보 섹션 + - 매장명 + - 업종 + - 주소 + - "매장 정보 수정" 버튼 + - [ ] 설정 섹션 + - 알림 설정 + - 비밀번호 변경 + - 로그아웃 + - 회원 탈퇴 + + [처리] + - [ ] 사용자 정보 조회 + - [ ] 매장 정보 조회 + - [ ] 정보 수정 시 검증 및 업데이트 + + [네비게이션] + - [ ] 매장 정보 수정 → UFR-USER-020 (수정 모드) + - [ ] 비밀번호 변경 → 비밀번호 변경 화면 + +- M/8 + +--- + 2. Event Planning 서비스 1) AI 이벤트 기획 UFR-PLAN-010: [이벤트목적선택] 소상공인으로서 | 나는, 효과적인 이벤트를 기획하기 위해 | 이벤트 목적을 선택하고 싶다. - 시나리오: 이벤트 기획 시작 및 목적 설정 - 이벤트 기획 화면에 접근한 상황에서 | 신규고객 유치, 재방문 유도, 매출 증대, 인지도 향상 중 하나를 선택하면 | 선택한 목적이 저장되고 AI 트렌드 분석이 시작된다. + 이벤트 기획 화면에 접근한 상황에서 | 6가지 목적 중 하나를 선택하면 | 선택한 목적이 저장되고 AI 트렌드 분석이 시작된다. - [목적 선택 옵션] - - [ ] 신규고객 유치: 신규 고객 확보에 초점 - - [ ] 재방문 유도: 기존 고객의 재방문 촉진 - - [ ] 매출 증대: 단기 매출 향상 - - [ ] 인지도 향상: 브랜드 인지도 제고 + [목적 선택 옵션] ⭐ 6가지로 확장 + - [ ] 👥 신규 고객 유치: 신규 고객 확보에 초점 (AI 추천) + - 예: 첫 방문 할인, 친구 추천 이벤트 + - [ ] 🔄 재방문 유도: 기존 고객의 재방문 촉진 + - 예: 스탬프 적립, 재방문 쿠폰 + - [ ] 💰 매출 증대: 객단가 향상 및 매출 증대 + - 예: 세트 할인, 한정 특가 이벤트 + - [ ] ⭐ 브랜드 인지도: 매장 홍보 및 SNS 화제 + - 예: SNS 인증샷, 바이럴 이벤트 + - [ ] 🎉 고객 참여 활성화: 커뮤니티 구축 및 소통 + - 예: 리뷰 이벤트, 고객 투표 + - [ ] 🎊 시즌/기념일 마케팅: 계절/기념일 이벤트 + - 예: 크리스마스, 창립기념일 이벤트 [UI/UX 요구사항] - - [ ] 각 목적별 설명 툴팁 제공 - - [ ] 목적별 예상 효과 미리보기 + - [ ] AI TIP 정보 제공 ⭐ 신규 추가 + - "선택하신 목적에 맞는 최신 트렌드와 성공 사례를 분석하여 맞춤형 이벤트를 제안해드립니다" + - [ ] 각 목적별 설명 및 예시 제공 - [ ] 단일 선택만 가능 (라디오 버튼) + - [ ] 선택 후 "AI 트렌드 분석 시작" 버튼 활성화 -- M/3 +- M/5 --- @@ -168,6 +303,7 @@ UFR-PLAN-020: [AI업종트렌드분석] 소상공인으로서 | 나는, 성공 - [ ] 매장 업종 정보 (USER 서비스에서 조회) - [ ] 매장 위치 정보 (지역, 상권) - [ ] 현재 시즌 정보 (봄/여름/가을/겨울, 명절) + - [ ] 선택한 이벤트 목적 [트렌드 분석 처리] - [ ] 트렌드 분석 시스템 API 호출 @@ -177,8 +313,9 @@ UFR-PLAN-020: [AI업종트렌드분석] 소상공인으로서 | 나는, 성공 [분석 결과 제공] - [ ] 트렌드 리포트 생성 (주요 트렌드 3-5가지) + - [ ] Top 트렌드 강조 표시 + - [ ] 예상 참여율 표시 - [ ] 추천 이벤트 방향 제시 - - [ ] 예상 성공률 표시 (%로 표현) - [ ] 분석 결과를 다음 단계(경품 추천)에 전달 - M/13 @@ -195,7 +332,7 @@ UFR-PLAN-030: [AI이벤트상품추천] 소상공인으로서 | 나는, 예산 - [ ] 이벤트 목적 연동 (PLAN-010에서 선택한 목적) - [ ] 이벤트 진행 방법 선택 (필수) - [옵션1] 추첨형: 기간 내 참여한 고객 중 이벤트가 끝나면 상품(쿠폰) 수량 안에서 당첨자 랜덤 추첨 진행 - - [옵션2] 선착순형: 선착순 쿠폰 소진 방식 (e.g: 오픈 이벤트 50% 할인이벤트 50명 한정 진행 등, 소진 시 UFR-PART-050으로 바로 이벤트 종료) + - [옵션2] 선착순형: 선착순 쿠폰 소진 방식 [AI 이벤트상품 추천 처리] - [ ] Claude API 연동 @@ -215,13 +352,6 @@ UFR-PLAN-030: [AI이벤트상품추천] 소상공인으로서 | 나는, 예산 - [ ] 직접 이벤트상품 입력 옵션 제공 - [ ] 수정된 내용 기반 예상 효과 재계산 - [ ] 예산 초과 시 경고 메시지 표시 - - [ ] 선착순형 이벤트 선택 시 쿠폰 소진 시점 자동 종료 안내 - - [Policy] - - 예산 내 최적 이벤트상품 선정 - - 타겟 고객 선호도 우선 고려 - - 소상공인의 이벤트상품 수정 자유도 보장 - - 이벤트 진행 방법에 따른 자동 프로세스 차별화 - M/21 @@ -251,9 +381,6 @@ UFR-PLAN-040: [AI참여방법설계] 소상공인으로서 | 나는, 고객 참 - [ ] 난이도 표시 (쉬움/보통/어려움) - [ ] 소상공인이 1개 선택 - [Policy] - - 참여 난이도와 재방문율의 균형 유지 - - M/21 --- @@ -289,27 +416,46 @@ UFR-PLAN-060: [이벤트기획안승인] 소상공인으로서 | 나는, 이벤 - 시나리오: 완성된 이벤트 기획안 검토 및 승인 모든 기획 단계 완료 후 | 완성된 기획안(목적, 이벤트상품, 참여방법, 홍보문구)을 확인하면 | 승인 버튼 클릭으로 기획안이 저장되고 콘텐츠 생성 단계로 이동한다. + [기획안 완성 안내] ⭐ 신규 추가 + - [ ] "완벽한 이벤트 기획안이 완성되었어요!" 제목 + - [ ] "AI가 분석한 데이터를 바탕으로 최적의 이벤트를 설계했습니다" 설명 + + [AI 예상 성과] ⭐ 신규 추가 + - [ ] 예상 참여자 수 (예: 1,200명) + - [ ] 참여율 (예: 75%) + - [ ] ROI (예: 3.5배) + + [이벤트 미리보기] ⭐ 신규 추가 + - [ ] 이벤트 제목 + - [ ] 홍보 문구 미리보기 + - [ ] 해시태그 표시 + [기획안 요약 제공] - - [ ] 이벤트 목적 - - [ ] 선택한 이벤트상품 - - [ ] 참여 방법 - - [ ] 홍보 문구 - - [ ] 예상 예산 - - [ ] 예상 효과 (참여율, 광고 수익률) + - [ ] 🎯 이벤트 목적 (수정 버튼) + - 선택한 목적 표시 + - [ ] 📊 트렌드 분석 (수정 버튼) + - Top 트렌드 표시 + - 예상 참여율 표시 + - [ ] 🎁 이벤트 경품 (수정 버튼) + - 선택한 경품 및 유형 표시 + - [ ] 📱 참여 방법 (수정 버튼) + - 선택한 방법 및 유형 표시 + - [ ] ✍️ 홍보 문구 (수정 버튼) + - 헤드라인 표시 + - CTA 표시 [승인 처리] - - [ ] 승인 버튼 클릭 시 이벤트 기획안 DB 저장 + - [ ] "📝 임시저장" 버튼 + - [ ] "✅ 승인하고 다음으로" 버튼 + - [ ] 승인 시 이벤트 기획안 DB 저장 - [ ] 이벤트 ID 생성 - - [ ] 다음 단계(콘텐츠 생성) 안내 + - [ ] 콘텐츠 생성 단계(UFR-CONT-010)로 이동 [수정 기능] - - [ ] 이전 단계로 돌아가기 버튼 - - [ ] 각 항목별 수정 가능 + - [ ] 각 섹션별 "수정" 버튼 + - [ ] 수정 버튼 클릭 시 해당 단계로 이동 - [성능 기준] - - [ ] 전체 기획 과정 10초 이내 완료 (AI 처리 시간 포함) - -- M/5 +- M/8 --- @@ -340,9 +486,38 @@ UFR-CONT-010: [AI이미지생성] 소상공인으로서 | 나는, 이벤트 홍 - [ ] 이미지 다운로드 가능 - [ ] 1개 선택하여 다음 단계 진행 - [Policy] - - 브랜드 일관성 유지 - - 저작권 준수 이미지만 사용 +- M/34 + +--- + +UFR-CONT-020: [AI영상제작] 소상공인으로서 | 나는, 효과적인 홍보를 위해 | AI가 선택한 이미지를 기반으로 15초 홍보 영상을 자동 제작해주기를 원한다. ⭐ 신규 추가 +- 시나리오: AI 기반 15초 홍보 영상 자동 제작 + 이미지 선택 완료 후 | 선택한 이미지, 홍보 문구, 배경음악을 전달하면 | AI 영상 제작 엔진이 15초 홍보 영상을 생성한다. + + [입력 요구사항] + - [ ] 선택한 이미지 (UFR-CONT-010에서 선택) + - [ ] 홍보 문구 (기획안에서 자동 연동) + - [ ] 배경음악 선택 (3가지 옵션 제공) + - 경쾌한 음악 + - 차분한 음악 + - 트렌디한 음악 + + [AI 영상 제작] + - [ ] AI 영상 제작 엔진 API 연동 + - [ ] 이미지 애니메이션 효과 적용 + - [ ] 텍스트 자막 자동 삽입 (홍보 문구) + - [ ] 배경음악 자동 삽입 + - [ ] 15초 길이로 자동 편집 + + [영상 생성 결과] + - [ ] 15초 영상 파일 (MP4, 1080x1920 세로형) + - [ ] 미리보기 재생 기능 + - [ ] 영상 다운로드 가능 + - [ ] 다음 단계(SNS 콘텐츠 생성)로 진행 + + [성능 요구사항] + - [ ] 영상 제작 시간: 3-5분 이내 + - [ ] 진행 상황 실시간 표시 (사용자 경험 개선) - M/34 @@ -350,7 +525,7 @@ UFR-CONT-010: [AI이미지생성] 소상공인으로서 | 나는, 이벤트 홍 UFR-CONT-030: [SNS콘텐츠생성] 소상공인으로서 | 나는, 다양한 SNS에 게시하기 위해 | 플랫폼별로 최적화된 콘텐츠를 자동으로 생성해주기를 원한다. - 시나리오: SNS 플랫폼별 최적화 콘텐츠 생성 - 이미지 생성 완료 후 | Instagram, Naver Blog, Kakao Channel을 선택하면 | 각 SNS 플랫폼에 최적화된 해상도와 형식의 콘텐츠가 생성된다. + 이미지 및 영상 생성 완료 후 | Instagram, Naver Blog, Kakao Channel을 선택하면 | 각 SNS 플랫폼에 최적화된 해상도와 형식의 콘텐츠가 생성된다. [SNS 플랫폼 선택] - [ ] Instagram (선택) @@ -374,9 +549,6 @@ UFR-CONT-030: [SNS콘텐츠생성] 소상공인으로서 | 나는, 다양한 SNS - [ ] 미리보기 기능 - [ ] 일괄 다운로드 가능 (ZIP 파일) - [Policy] - - SNS 플랫폼별 최적 해상도 자동 조정 - - M/21 --- @@ -416,6 +588,7 @@ UFR-CONT-050: [콘텐츠편집] 소상공인으로서 | 나는, 콘텐츠를 개 [편집 가능 항목] - [ ] 이미지: 텍스트 수정, 색상 조정 + - [ ] 영상: 자막 수정, 배경음악 변경 ⭐ 신규 추가 - [ ] SNS 콘텐츠: 게시 텍스트 편집 - [ ] QR 포스터: 텍스트 수정, 레이아웃 조정 (생성한 경우) @@ -440,16 +613,17 @@ UFR-CONT-060: [콘텐츠최종승인] 소상공인으로서 | 나는, 배포 전 [콘텐츠 미리보기] - [ ] 이미지 3종 + - [ ] 영상 (15초) ⭐ 신규 추가 - [ ] SNS 콘텐츠 (플랫폼별) - [ ] QR 포스터 (생성한 경우) [승인 처리] - [ ] 승인 버튼 클릭 시 콘텐츠 DB 저장 - [ ] 콘텐츠 ID 생성 - - [ ] 다음 단계(배포) 안내 + - [ ] 배포 단계(UFR-DIST-010)로 이동 [성능 기준] - - [ ] 전체 콘텐츠 생성 2-3분 이내 완료 + - [ ] 전체 콘텐츠 생성 5-8분 이내 완료 (영상 포함) ⭐ 업데이트 - M/3 @@ -461,21 +635,49 @@ UFR-DIST-010: [다중채널배포설정] 소상공인으로서 | 나는, 이벤 - 시나리오: 배포 채널 선택 및 설정 배포 화면에서 | 원하는 배포 채널을 선택하고 배포 일시를 설정하면 | 선택한 채널 목록이 저장되고 각 채널별 배포가 시작된다. - [배포 채널 선택] - - [ ] 우리동네TV (선택) + [배포 진행 단계 표시] ⭐ 신규 추가 + - [ ] "배포 1/3: 채널 선택" 진행 상태 표시 + - [ ] "선택된 채널: N개 채널" 요약 정보 표시 + + [배포 채널 선택 - KT 채널] ⭐ 섹션 구분 명확화 + - [ ] "KT 채널" 섹션 제목 + - [ ] 우리동네TV (추천 뱃지) (선택) + - "지역 주변 노출" 설명 + - "설정 ›" 버튼 - [ ] 링고비즈 연결음 (선택) + - "매장 전화 연결음" 설명 + - "설정 ›" 버튼 - [ ] 지니TV 광고 (선택) - - [ ] Instagram (선택) + - "TV 광고 송출" 설명 + - "설정 ›" 버튼 + + [배포 채널 선택 - SNS 채널] ⭐ 섹션 구분 명확화 + - [ ] "SNS 채널" 섹션 제목 + - [ ] Instagram (필수 뱃지) (선택) + - "인스타그램 게시물" 설명 + - 계정 연동 상태 표시 ("✓ 계정 연동됨" 또는 "계정 연동 필요") + - 연동되지 않은 경우 "계정 연동하기" 버튼 - [ ] Naver Blog (선택) + - "네이버 블로그" 설명 + - 계정 연동 상태 표시 + - 연동되지 않은 경우 "계정 연동하기" 버튼 - [ ] Kakao Channel (선택) + - "카카오톡 채널" 설명 + - 계정 연동 상태 표시 + - 연동되지 않은 경우 "계정 연동하기" 버튼 - [ ] 최소 1개 이상 채널 선택 필수 - [배포 설정] - - [ ] 즉시 배포 또는 예약 배포 선택 - - [ ] 예약 시 날짜 및 시간 선택 - - [ ] 채널별 개별 설정 가능 (시간대, 예산 등) + [배포 시간 설정] ⭐ 섹션 추가 + - [ ] "배포 시간" 섹션 제목 + - [ ] 즉시 배포 (선택) + - "지금 바로 선택한 채널에 배포" 설명 + - [ ] 예약 배포 (선택) + - "원하는 날짜와 시간에 배포" 설명 + - 날짜 및 시간 선택 UI [배포 시작] + - [ ] "임시저장" 버튼 + - [ ] "다음 (배포 시작)" 버튼 - [ ] 선택한 채널 목록 저장 - [ ] 배포 요청 이벤트 발생 - [ ] 각 채널별 병렬 배포 시작 @@ -504,9 +706,6 @@ UFR-DIST-020: [우리동네TV배포] 소상공인으로서 | 나는, 주변 지 - [ ] 예상 노출 수 제공 - [ ] 송출 스케줄 확인 가능 - [Policy] - - 채널별 최적 송출 시간대 자동 선정 - - M/21 --- @@ -538,10 +737,6 @@ UFR-DIST-030: [링고비즈연결음업데이트] 소상공인으로서 | 나는 - [ ] 연결음 미리듣기 가능 - [ ] 롤백 기능 (이전 연결음으로 복구) - [Policy] - - 네이버 클로바 TTS 엔진 활용 필수 - - 자연스러운 음성 품질 보장 - - S/13 --- @@ -567,10 +762,6 @@ UFR-DIST-040: [지니TV광고배포] 소상공인으로서 | 나는, 가정의 T - [ ] 노출 스케줄 확인 - [ ] 예상 노출 횟수 및 도달 가구 수 제공 - [Policy] - - 예산 기반 노출량 자동 조절 - - 시간대별 차등 과금 적용 - - M/21 --- @@ -689,7 +880,6 @@ UFR-PART-020: [중복참여방지] 시스템으로서 | 나는, 공정한 이벤 [Policy] - 전화번호 기반 중복 체크 - 매장 방문 고객 가산점 부여 - - 허위 정보 필터링 - M/8 @@ -714,7 +904,7 @@ UFR-PART-030: [자동당첨자추첨] 소상공인으로서 | 나는, 수동 관 - [ ] 당첨 인원만큼 추첨 (기획안에 정의된 인원) [선착순형 이벤트 처리] - - [ ] 쿠폰 소진 시 자동으로 이벤트 종료 (UFR-PART-050으로 이동) + - [ ] 쿠폰 소진 시 자동으로 이벤트 종료 - [ ] 참여 순서대로 당첨자 자동 확정 - [ ] 추첨 과정 없음 @@ -724,11 +914,6 @@ UFR-PART-030: [자동당첨자추첨] 소상공인으로서 | 나는, 수동 관 - [ ] 당첨자 정보 DB 저장 - [ ] 소상공인에게 당첨자 명단 제공 - [Policy] - - 이벤트 진행 방법에 따른 자동 프로세스 차별화 - - 추첨형: 공정한 추첨 알고리즘 적용, 매장 방문 고객 가산점 - - 선착순형: 선착순 자동 확정, 추첨 없음 - - M/13 --- @@ -788,19 +973,49 @@ UFR-PART-050: [당첨자명단관리] 소상공인으로서 | 나는, 이벤트 6. Analytics 서비스 1) 효과 측정 및 분석 -UFR-ANAL-010: [실시간대시보드조회] 소상공인으로서 | 나는, 이벤트 성과를 즉시 파악하기 위해 | 실시간으로 참여자 수, 노출 수, 매출 증가율을 확인하고 싶다. +UFR-ANAL-010: [실시간대시보드조회] 소상공인으로서 | 나는, 이벤트 성과를 즉시 파악하기 위해 | 실시간으로 참여자 수, 노출 수, 전환율을 확인하고 싶다. - 시나리오: 실시간 효과 측정 대시보드 조회 이벤트 배포 완료 후 | 효과 측정 대시보드에 접근하면 | 5분 간격으로 업데이트되는 실시간 데이터를 확인할 수 있다. + [기간 필터] ⭐ 신규 추가 + - [ ] "오늘" 버튼 + - [ ] "최근 7일" 버튼 + - [ ] "최근 30일" 버튼 + - [ ] "전체" 버튼 + [대시보드 주요 지표] - - [ ] 총 참여자 수 (실시간) - - [ ] 채널별 노출 수 - - 우리동네TV 노출 수 - - 지니TV 노출 수 - - SNS 조회/공유 수 - - [ ] 매장 방문자 증가율 (이벤트 전후 비교) - - [ ] 매출 증가율 (이벤트 기간 vs 평균) - - [ ] 예상 ROI + - [ ] 👥 총 참여자 수 (실시간) + - 전일 대비 증감율 표시 (예: +23.3%) + - [ ] 🎁 당첨자 수 + - 전일 대비 증감율 표시 + - [ ] 📊 전환율 (%) ⭐ 명칭 변경 (매장 방문자 증가율 → 전환율) + - 전일 대비 증감율 표시 + - [ ] 📈 조회수 ⭐ 신규 추가 + - 전일 대비 증감율 표시 + + [채널별 성과 섹션] ⭐ 신규 추가 + - [ ] "채널별 성과" 제목 + - [ ] "상세보기 →" 링크 (UFR-ANAL-020으로 이동) + - [ ] 채널별 참여자 수 막대 그래프 + - 📷 Instagram: N명 + - 📺 우리동네TV: N명 + - 📝 Naver 블로그: N명 + - 💬 KakaoTalk: N명 + + [최근 활동 섹션] ⭐ 신규 추가 + - [ ] "최근 활동" 제목 + - [ ] 활동 타임라인 (최대 5개) + - 🎉 새로운 당첨자 선정 알림 (시간 표시) + - 👤 새로운 참여자 알림 (채널별) + - 📊 조회수 돌파 알림 + - 💰 경품 지급 완료 알림 + - 📱 당첨 알림 발송 알림 + + [빠른 이동 버튼] ⭐ 신규 추가 + - [ ] 🎯 당첨자 관리 (UFR-PART-050) + - [ ] 📊 성과 분석 (UFR-ANAL-020) + - [ ] 💰 ROI 분석 (UFR-ANAL-030) + - [ ] 📄 리포트 (UFR-ANAL-040) [실시간 데이터 수집] - [ ] 5분 간격 자동 업데이트 @@ -814,9 +1029,6 @@ UFR-ANAL-010: [실시간대시보드조회] 소상공인으로서 | 나는, 이 - [ ] 새로고침 버튼 - [ ] 자동 새로고침 옵션 - [Policy] - - 실시간 데이터 수집 및 업데이트 (5분 간격) - - M/21 --- @@ -829,7 +1041,7 @@ UFR-ANAL-020: [채널별성과분석] 소상공인으로서 | 나는, 효과적 - [ ] 우리동네TV: 노출 수, 도달률 - [ ] 지니TV: 노출 수, 도달 가구 수 - [ ] Instagram: 조회 수, 좋아요, 저장 수, 공유 수 (Instagram Graph API 활용) - - [ ] Naver Blog: 방문자 수, 조회 수 (체류 시간 확인 불가) + - [ ] Naver Blog: 방문자 수, 조회 수 - [ ] Kakao Channel: 조회 수, 클릭 수 (Kakao API 활용) - [ ] QR 코드: 스캔 횟수 (자체 QR 코드 추적 시스템) @@ -877,9 +1089,6 @@ UFR-ANAL-030: [광고수익률자동계산] 소상공인으로서 | 나는, 투 - [ ] 비용/수익 상세 내역 - [ ] 그래프 시각화 - [Policy] - - 이벤트 전후 비교 분석 자동화 - - M/13 --- @@ -909,9 +1118,6 @@ UFR-ANAL-040: [분석리포트생성] 소상공인으로서 | 나는, 이벤트 - [ ] 파일명: "이벤트명_분석리포트_YYYYMMDD.pdf" - [ ] 이메일 발송 옵션 - [Policy] - - 업종별 평균 대비 성과 벤치마킹 - - S/8 --- @@ -950,10 +1156,6 @@ UFR-AIMPR-010: [AI개선안생성] 소상공인으로서 | 나는, 더 나은 - [ ] 예상 효과 제공 (참여율 증가 예상치 등) - [ ] 소상공인이 개선안 선택 또는 피드백 제공 - [Policy] - - 성공 패턴 자동 학습 및 재활용 - - 실패 요인 회피 로직 적용 - - M/21 --- @@ -985,9 +1187,6 @@ UFR-AIMPR-020: [다음이벤트아이디어제안] 소상공인으로서 | 나 - [ ] "이 아이디어로 기획 시작" 버튼 - [ ] 선택 시 이벤트 기획 화면(PLAN-010)으로 이동 - [Policy] - - 업종별/지역별 데이터 축적 및 활용 - - S/13 --- @@ -1021,10 +1220,6 @@ UFR-AIMPR-030: [성공패턴학습] AI시스템으로서 | 나는, 추천 정확 - [ ] 추천 정확도 모니터링 - [ ] 지속적인 성능 개선 - [Policy] - - 지속적 성능 개선 알고리즘 - - 개인화 추천 강화 - - M/34 --- @@ -1058,13 +1253,13 @@ NFR-PERF-020: [콘텐츠생성속도] 시스템으로서 | 나는, 효율적인 [성능 요구사항] - [ ] 이미지 생성 (3종): 2-3분 이내 (AI 이미지 생성 특성 고려) - - [ ] 영상 제작 (15초): 3-5분 이내 (AI 영상 제작 특성 고려) + - [ ] 영상 제작 (15초): 3-5분 이내 (AI 영상 제작 특성 고려) ⭐ 신규 추가 - [ ] SNS 콘텐츠 생성: 30초 이내 - [ ] QR 포스터 생성: 20초 이내 - - [ ] 총 처리 시간: 5-8분 이내 (단계별 병렬 처리 시) + - [ ] 총 처리 시간: 5-8분 이내 (단계별 병렬 처리 시) ⭐ 업데이트 [최적화 방안] - - [ ] 이미지와 영상 병렬 생성 + - [ ] 이미지와 영상 병렬 생성 ⭐ 업데이트 - [ ] GPU 가속 활용 - [ ] 콘텐츠 캐싱 - [ ] 진행 상황 실시간 표시 (사용자 경험 개선) @@ -1185,140 +1380,58 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소 --- -## 기술 검토 결과 +## 📈 프로토타입 반영 통계 -**[마이크로서비스별 검토]** +| 구분 | 기존 | 추가/수정 | 합계 | +|------|------|-----------|------| +| User 서비스 | 3개 | 2개 | 5개 | +| Event Planning 서비스 | 6개 | 1개 | 7개 | +| Content Generation 서비스 | 5개 | 1개 (영상제작 신규) | 6개 | +| Distribution 서비스 | 6개 | - | 6개 | +| Participation 서비스 | 5개 | - | 5개 | +| Analytics 서비스 | 4개 | - | 4개 | +| AI Learning 서비스 | 3개 | - | 3개 | +| 비기능 요구사항 | 5개 | - | 5개 | +| **총계** | **37개** | **4개** | **41개** | -1. **User 서비스** - 모든 유저스토리 ✅ 실현 가능 +--- -- 표준적인 인증/인가 패턴 -- KT 인증 시스템, 사업자번호 검증 시스템 연동 -- JWT 토큰, 세션 관리 +## 🔧 기술 검토 업데이트 -2. **Event Planning 서비스** - 대부분 ✅ 실현 가능, AI 응답 시간 주의 필요 +### **신규 추가 항목** -**주요 검토 사항:** +**UFR-CONT-020: AI영상제작** +- ⚠️ 높은 기술적 복잡도 +- AI 영상 제작 엔진 연동 필요 +- 예상 처리 시간: 3-5분 +- GPU 가속 활용 권장 +- 진행 상황 실시간 표시 필수 -- UFR-PLAN-020~050: ⚠️ AI API 응답 시간 관리 필요 - - Claude API, GPT-4 API 병렬 호출 - - 응답 캐싱으로 속도 개선 - - 10초 목표 달성을 위한 프롬프트 최적화 +**UFR-USER-030: 이벤트목록** +- ✅ 실현 가능 +- 표준적인 CRUD 패턴 +- 필터링 및 페이지네이션 구현 -3. **Content Generation 서비스** - ⚠️ 높은 기술적 복잡도 +**UFR-USER-040: 마이페이지** +- ✅ 실현 가능 +- 사용자 정보 관리 표준 패턴 -**주요 검토 사항:** +### **주요 기술 스택 업데이트** -- UFR-CONT-010: Stable Diffusion API 연동 (이미지 생성 90초) -- UFR-CONT-020: AI 영상 제작 엔진 연동 (영상 제작 90초) -- 3분 목표 달성을 위한 병렬 처리 필수 +**AI/ML 추가:** +- AI 영상 제작 엔진 (15초 영상 자동 생성) +- 예상 소요 시간: 3-5분 +- GPU 가속 필수 -4. **Distribution 서비스** - 대부분 ✅ 실현 가능 +**성능 요구사항 업데이트:** +- 콘텐츠 생성 전체 시간: 5-8분 이내 (영상 포함) +- 이미지와 영상 병렬 생성 필수 -**주요 검토 사항:** +--- -- 다중 외부 API 연동 (우리동네TV, 링고비즈, 지니TV, SNS) -- 병렬 배포로 1분 목표 달성 -- 배포 실패 시 자동 재시도 (최대 3회) +## ✅ 다음 단계 -5. **Participation 서비스** - 모든 유저스토리 ✅ 실현 가능 - -- 표준적인 참여 관리 패턴 -- 중복 방지, 추첨 알고리즘, SMS/알림톡 발송 - -6. **Analytics 서비스** - 대부분 ✅ 실현 가능 - -**주요 검토 사항:** - -- 다중 데이터 소스 통합 (KT API, POS, 구글 애널리틱스) -- 실시간 데이터 수집 (5분 간격) -- ROI 자동 계산 로직 - -7. **AI Learning 서비스** - ⚠️ 가장 높은 기술적 복잡도 - -**주요 검토 사항:** - -- AI 머신러닝 엔진 연동 -- 빅데이터 분석 시스템 구축 -- 성공/실패 패턴 학습 알고리즘 -- 지속적인 모델 개선 - -**[주요 기술 스택 권장사항]** - -**백엔드:** - -- Node.js/Spring Boot (마이크로서비스) -- Redis (캐싱, 세션) -- PostgreSQL/MongoDB -- RabbitMQ/Kafka (비동기 처리) - -**프론트엔드:** - -- React/Next.js -- TypeScript -- Zustand/Redux (상태관리) - -**AI/ML:** - -- Claude API (이벤트상품 추천, 참여 방법 설계) -- GPT-4 API (홍보 문구 생성) -- Stable Diffusion (이미지 생성) -- AI 영상 제작 엔진 - -**외부 연동:** - -- KT 인증 시스템 -- 사업자번호 검증 시스템 -- 우리동네TV, 링고비즈, 지니TV API -- Instagram, Naver, Kakao API -- POS 시스템 -- 구글 애널리틱스 - -**인프라:** - -- Docker/Kubernetes -- API Gateway -- Circuit Breaker -- 로드 밸런서 -- Auto Scaling - -**[주요 기술적 리스크 및 해결방안]** - -**1. AI 응답 시간 (10초 제약)** - -- 리스크: AI API 응답이 10초를 초과할 수 있음 -- 해결방안: - - 프롬프트 최적화로 응답 시간 단축 - - 병렬 API 호출 - - 응답 캐싱 적극 활용 - -**2. 콘텐츠 생성 시간 (3분 제약)** - -- 리스크: 이미지와 영상 생성이 3분을 초과할 수 있음 -- 해결방안: - - 이미지와 영상 병렬 생성 - - GPU 가속 활용 - - 콘텐츠 템플릿 캐싱 - -**3. 다중 외부 API 의존성** - -- 리스크: API 장애 시 서비스 중단 -- 해결방안: - - 각 API별 폴백 전략 수립 - - 캐싱 적극 활용 - - 써킷 브레이커 패턴 적용 - - 배포 실패 시 자동 재시도 (3회) - -**4. 실시간 데이터 수집** - -- 리스크: 다중 데이터 소스 통합 복잡도 -- 해결방안: - - 스케줄러 기반 자동 수집 (5분 간격) - - 데이터 파이프라인 구축 - - 실패 시 재시도 로직 +1. **UI/UX 설계 업데이트**: 프로토타입 기준으로 설계서 재작성 +2. **API 설계 업데이트**: 영상 제작 API 명세 추가 +3. **백엔드 설계 업데이트**: 영상 제작 서비스 추가 +4. **프론트엔드 설계 업데이트**: 하단 네비게이션 구조 반영