# KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 유저스토리 목록 ## 전체 유저스토리 요약 | 서비스 | ID | 유저스토리 | 우선순위 | 복잡도 | |--------|-----|-----------|----------|--------| | **User** | UFR-USER-010 | [회원가입] 소상공인으로서 간편하게 회원가입하고 싶다 | M | 21 | | | UFR-USER-020 | [로그인] 소상공인으로서 간편하게 로그인하고 싶다 | M | 8 | | | UFR-USER-030 | [프로필관리] 소상공인으로서 프로필 정보를 편집하고 싶다 | C | 8 | | | UFR-USER-040 | [로그아웃] 소상공인으로서 안전하게 로그아웃하고 싶다 | S | 3 | | **Event** | UFR-EVENT-010 | [대시보드] 소상공인으로서 대시보드에서 이벤트를 한눈에 확인하고 싶다 | S | 13 | | | UFR-EVENT-020 | [이벤트목적선택] 소상공인으로서 이벤트 목적을 먼저 선택하고 싶다 | M | 5 | | | UFR-EVENT-030 | [AI이벤트추천] 소상공인으로서 AI 트렌드 분석 결과와 함께 3가지 이벤트 추천을 확인하고 싶다 | M | 34 | | | UFR-EVENT-040 | [배포채널선택] 소상공인으로서 다중 배포 채널을 선택하고 싶다 | M | 13 | | | UFR-EVENT-050 | [최종승인] 소상공인으로서 모든 설정을 최종 확인하고 승인하고 싶다 | M | 13 | | | UFR-EVENT-060 | [이벤트상세조회] 소상공인으로서 이벤트 상세 정보를 조회하고 싶다 | S | 13 | | | UFR-EVENT-070 | [이벤트목록관리] 소상공인으로서 전체 이벤트 목록을 조회하고 필터링/검색하고 싶다 | S | 13 | | **AI** | UFR-AI-010 | [AI트렌드분석및이벤트추천] AI 시스템으로서 업종/지역/시즌 트렌드를 분석하고 3가지 최적화된 이벤트 기획안을 생성하고 싶다 | M | 34 | | **Content** | UFR-CONT-010 | [SNS이미지생성] 소상공인으로서 AI가 자동으로 3가지 스타일의 이미지를 생성하기를 원한다 | M | 21 | | | UFR-CONT-020 | [콘텐츠편집] 소상공인으로서 생성된 이미지를 간단한 편집 기능으로 조정하고 싶다 | S | 13 | | **Distribution** | UFR-DIST-010 | [다중채널배포] 소상공인으로서 원클릭으로 다중 채널 배포를 실행하고 싶다 | M | 21 | | | UFR-DIST-020 | [배포상태모니터링] 소상공인으로서 배포 상태를 실시간으로 모니터링하고 싶다 | S | 13 | | **Participation** | UFR-PART-010 | [이벤트참여] 고객으로서 최소한의 정보만 입력하고 이벤트에 참여하고 싶다 | M | 13 | | | UFR-PART-020 | [참여자목록조회] 소상공인으로서 참여자 목록을 조회하고 싶다 | S | 8 | | | UFR-PART-030 | [당첨자추첨] 소상공인으로서 자동 추첨 기능을 사용하고 싶다 | M | 13 | | **Analytics** | UFR-ANAL-010 | [실시간통합대시보드] 소상공인으로서 모든 지표가 통합된 실시간 대시보드를 보고 싶다 | M | 34 | --- ## 우선순위별 통계 | 우선순위 | 개수 | 비율 | |---------|------|------| | M (필수) | 13 | 65.0% | | S (선택) | 6 | 30.0% | | C (조건부) | 1 | 5.0% | | **총계** | **20** | **100%** | --- ## 서비스별 통계 | 서비스 | 유저스토리 수 | 평균 복잡도 | 필수(M) | 선택(S) | 조건부(C) | |--------|-------------|-----------|---------|---------|----------| | User | 4 | 10.0 | 2 | 1 | 1 | | Event | 7 | 14.9 | 4 | 3 | 0 | | AI | 1 | 34.0 | 1 | 0 | 0 | | Content | 2 | 17.0 | 1 | 1 | 0 | | Distribution | 2 | 17.0 | 1 | 1 | 0 | | Participation | 3 | 11.3 | 2 | 1 | 0 | | Analytics | 1 | 34.0 | 1 | 0 | 0 | | **총계** | **20** | **16.9** | **12** | **7** | **1** | --- ## 복잡도별 통계 | 복잡도 범위 | 개수 | 유저스토리 | |-----------|------|-----------| | 1-5 (낮음) | 2 | UFR-USER-040, UFR-EVENT-020 | | 6-13 (중간) | 11 | UFR-USER-020, UFR-USER-030, UFR-EVENT-010, UFR-EVENT-040, UFR-EVENT-050, UFR-EVENT-060, UFR-EVENT-070, UFR-CONT-020, UFR-DIST-020, UFR-PART-010, UFR-PART-020, UFR-PART-030 | | 14-21 (높음) | 4 | UFR-USER-010, UFR-CONT-010, UFR-DIST-010 | | 22+ (매우 높음) | 3 | UFR-EVENT-030, UFR-AI-010, UFR-ANAL-010 | --- ## 주요 기능별 상세 목록 ### 1. User 서비스 (회원 인증 및 매장 정보 관리) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | |----|------|----------|--------|-------------| | UFR-USER-010 | 회원가입 | M | 21 | 이름, 전화번호, 이메일, 비밀번호, 매장명, 업종, 주소, 사업자번호 검증 | | UFR-USER-020 | 로그인 | M | 8 | 전화번호/비밀번호 입력, 로그인 유지 옵션, 대시보드 이동 | | UFR-USER-030 | 프로필관리 | C | 8 | 기본 정보, 매장 정보, 비밀번호 변경 | | UFR-USER-040 | 로그아웃 | S | 3 | 안전한 세션 종료, 확인 다이얼로그 | **검증 로직:** - 사업자번호 형식 검증 (XXX-XX-XXXXX) - 사업자번호 유효성 확인 및 휴폐업 여부 확인 (국세청 API) - 매장명과 사업자 정보 일치 확인 **주요 흐름:** 1. UFR-USER-020 (로그인) → UFR-EVENT-010 (대시보드) 2. 신규 사용자: 회원가입(UFR-USER-010) → 대시보드(UFR-EVENT-010) 3. 대시보드에서 "새 이벤트 만들기" → UFR-EVENT-020 --- ### 2. Event 서비스 (이벤트 관리) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | |----|------|----------|--------|-------------| | UFR-EVENT-010 | 대시보드 | S | 13 | 진행중/예정/종료 이벤트 목록, 통계, 새 이벤트 만들기 버튼 | | UFR-EVENT-020 | 이벤트목적선택 | M | 5 | 신규고객 유치/재방문 유도/매출 증대/인지도 향상 선택 | | UFR-EVENT-030 | AI이벤트추천 | M | 34 | 트렌드 분석 결과, 3가지 이벤트 추천, 제목/경품 간단 수정 | | UFR-EVENT-040 | 배포채널선택 | M | 13 | 우리동네TV, 링고비즈, 지니TV, SNS 선택, 예상 노출 수 | | UFR-EVENT-050 | 최종승인 | M | 13 | 이벤트 정보 확인, 승인 처리, 배포 시작 | | UFR-EVENT-060 | 이벤트상세조회 | S | 13 | 기본 정보, 실시간 통계, 배포 현황, 참여자 목록 | | UFR-EVENT-070 | 이벤트목록관리 | S | 13 | 전체 이벤트 목록, 필터링, 검색, 정렬 | **이벤트 생성 플로우:** 1. 이벤트 목적 선택 (UFR-EVENT-020) 2. AI 트렌드 분석 및 이벤트 추천 (UFR-EVENT-030) 3. 콘텐츠 생성 (UFR-CONT-010) 4. 배포채널 선택 (UFR-EVENT-040) 5. 최종승인 (UFR-EVENT-050) --- ### 3. AI 서비스 (AI 분석 및 추천) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | AI 모델 | |----|------|----------|--------|-------------|---------| | UFR-AI-010 | AI트렌드분석및이벤트추천 | M | 34 | 업종/지역/시즌 트렌드 분석, 3가지 이벤트 기획안 생성, 10초 이내 완료 | Claude API / GPT-4 API | **분석 항목:** - 업종 트렌드: 최근 성공 이벤트, 고객 선호 경품, 효과적인 참여 방법 - 지역 특성: 지역별 이벤트 성공률, 고객 특성 - 시즌 특성: 계절/시기별 추천 이벤트 **추천 기준:** - 옵션 1: 저비용, 높은 참여율 중심 - 옵션 2: 중비용, 균형잡힌 투자 대비 수익률 - 옵션 3: 고비용, 높은 매출 증대 효과 **성능 목표:** 전체 기획 과정 10초 이내 완료 (병렬 처리) --- ### 4. Content 서비스 (콘텐츠 생성) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | AI 모델 | |----|------|----------|--------|-------------|---------| | UFR-CONT-010 | SNS이미지생성 | M | 21 | 3가지 스타일 (심플/화려/트렌디), 플랫폼별 최적화 | Stable Diffusion / DALL-E | | UFR-CONT-020 | 콘텐츠편집 | S | 13 | 텍스트 수정, 색상 조정, 로고 위치 변경 | - | **플랫폼별 최적화:** - Instagram: 1080x1080 - Naver Blog: 800x600 - Kakao Channel: 800x800 **성능 목표:** - 이미지 생성: 30초 이내 - 실시간 미리보기 제공 --- ### 5. Distribution 서비스 (다중 채널 배포) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | 연동 API | |----|------|----------|--------|-------------|---------| | UFR-DIST-010 | 다중채널배포 | M | 21 | 우리동네TV, 링고비즈, 지니TV, SNS 동시 배포, 1분 이내 완료 | 우리동네TV, 링고비즈, 지니TV, SNS APIs | | UFR-DIST-020 | 배포상태모니터링 | S | 13 | 채널별 배포 상태, 진행률, 오류 메시지, 재시도 기능 | - | **배포 채널:** 1. 우리동네TV (반경 500m/1km, 송출 시간대) 2. 링고비즈 (매장 전화 연결음 업데이트) 3. 지니TV (타겟 지역, 노출 시간대, 예산) 4. SNS (Instagram, Naver Blog, Kakao Channel) **성능 목표:** 전체 배포 과정 1분 이내 완료 --- ### 6. Participation 서비스 (이벤트 참여 및 접수 관리) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | |----|------|----------|--------|-------------| | UFR-PART-010 | 이벤트참여 | M | 13 | 이름, 전화번호 입력, 참여 경로 추적, 응모번호 발급, 중복 방지 | | UFR-PART-020 | 참여자목록조회 | S | 8 | 참여자 테이블, 필터링, 검색, 개인정보 마스킹 | | UFR-PART-030 | 당첨자추첨 | M | 13 | 자동 추첨, 매장 방문 고객 가산점, 재추첨 기능 | **정책:** - 1인 1회 참여 제한 (전화번호 기반) - 개인정보 보호 규정 준수 - 매장 방문 고객 가산점 부여 (선택 가능) --- ### 7. Analytics 서비스 (실시간 효과 측정 및 분석) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | 데이터 소스 | |----|------|----------|--------|-------------|------------| | UFR-ANAL-010 | 실시간통합대시보드 | M | 34 | 참여자 수, 노출 수, 투자 대비 수익률, 매출 증가율, 채널별 성과, 5분 간격 업데이트 | KT 채널 API, POS, SNS API | **대시보드 구성:** 1. 상단 요약 카드: 총 참여자 수, 총 노출 수, 예상 투자 대비 수익률, 매출 증가율 2. 채널별 성과 분석: 막대 그래프, 원 그래프 3. 시간대별 참여 추이: 라인 차트 4. 투자 대비 수익률 상세 분석: 총 비용, 예상 수익, 손익분기점 5. 참여자 프로필 분석: 연령대별, 성별, 지역별 분포 6. 비교 분석: 업종 평균, 이전 이벤트 대비 **데이터 수집:** - 실시간 데이터 수집 (5분 간격) - WebSocket 또는 SSE를 통한 실시간 업데이트 - 데이터 캐싱 (Redis) --- ## 기술 스택 요약 ### AI/ML 모델 | 모델 | 용도 | 관련 유저스토리 | |------|------|----------------| | Claude API / GPT-4 API | 트렌드 분석, 이벤트 추천, 홍보 문구 생성 | UFR-AI-010 | | Stable Diffusion / DALL-E | 이미지 생성 | UFR-CONT-010 | ### 외부 API 연동 | API | 용도 | 관련 유저스토리 | |-----|------|----------------| | 국세청 API | 사업자번호 검증 | UFR-USER-010 | | 우리동네TV API | 지역 타겟팅 영상 송출 | UFR-DIST-010 | | 링고비즈 API | 연결음 업데이트 | UFR-DIST-010 | | 지니TV API | TV 광고 배포 | UFR-DIST-010 | | Instagram API | SNS 자동 포스팅, 성과 데이터 수집 | UFR-DIST-010, UFR-ANAL-010 | | Naver API | 블로그 자동 포스팅 | UFR-DIST-010 | | Kakao API | 카카오 채널 자동 포스팅, 성과 데이터 수집 | UFR-DIST-010, UFR-ANAL-010 | --- ## 마이크로서비스 아키텍처 ``` ┌─────────────────────────────────────────────────────────────┐ │ API Gateway │ └─────────────────────────────────────────────────────────────┘ │ ┌─────────────────────┼─────────────────────┐ │ │ │ ┌───────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐ │ User Service │ │ Event Service │ │ AI Service │ │ (UFR-USER) │ │ (UFR-EVENT) │ │ (UFR-AI) │ └────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ │ │ ┌───────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐ │ Content │ │ Distribution │ │ Participation │ │ (UFR-CONT) │ │ (UFR-DIST) │ │ (UFR-PART) │ └────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └─────────────────────┼─────────────────────┘ │ ┌─────────▼─────────┐ │ Analytics │ │ (UFR-ANAL) │ └───────────────────┘ ``` --- ## 서비스 간 의존성 - User → Event: 사용자 인증 정보 제공 - Event → AI: 트렌드 분석 및 이벤트 추천 요청 - Event → Content: 콘텐츠 생성 요청 - Event → Distribution: 배포 요청 - Distribution → Content: 생성된 콘텐츠 사용 - Participation → Analytics: 참여자 데이터 제공 - Distribution → Analytics: 노출 데이터 제공 --- ## 개발 우선순위 로드맵 ### Phase 1: MVP (8주) **목표:** 기본 이벤트 기획 및 배포 기능 | 순서 | 서비스 | 유저스토리 | 비고 | |------|--------|-----------|------| | 1 | User | UFR-USER-010, UFR-USER-020 | 회원가입, 로그인 | | 2 | Event | UFR-EVENT-020, UFR-EVENT-030, UFR-EVENT-050 | 목적 선택, AI 추천, 승인 | | 3 | AI | UFR-AI-010 | 트렌드 분석 및 이벤트 추천 | | 4 | Content | UFR-CONT-010 | 이미지 생성 | | 5 | Distribution | UFR-DIST-010 | 다중 채널 배포 | | 6 | Participation | UFR-PART-010, UFR-PART-030 | 참여 신청, 자동 추첨 | ### Phase 2: 고도화 (6주) **목표:** 관리 및 분석 기능 추가 | 순서 | 서비스 | 유저스토리 | 비고 | |------|--------|-----------|------| | 7 | Event | UFR-EVENT-010, UFR-EVENT-040, UFR-EVENT-060, UFR-EVENT-070 | 대시보드, 채널 선택, 상세 조회, 목록 관리 | | 8 | Analytics | UFR-ANAL-010 | 실시간 통합 대시보드 | | 9 | Distribution | UFR-DIST-020 | 배포 상태 모니터링 | | 10 | Participation | UFR-PART-020 | 참여자 목록 조회 | ### Phase 3: 완성 (2주) **목표:** 선택 기능 추가 | 순서 | 서비스 | 유저스토리 | 비고 | |------|--------|-----------|------| | 11 | User | UFR-USER-030, UFR-USER-040 | 프로필 관리, 로그아웃 | | 12 | Content | UFR-CONT-020 | 콘텐츠 편집 | --- ## 주요 기술적 리스크 및 해결방안 ### 1. AI 응답 시간 (10초 목표) - **리스크**: AI API 응답이 목표 시간을 초과할 수 있음 - **해결방안**: - 프롬프트 최적화로 응답 시간 단축 - 트렌드 분석과 이벤트 추천 병렬 처리 - 비동기 처리 + 폴링 방식 - 부분 응답 스트리밍 ### 2. 다중 외부 API 의존성 - **리스크**: API 장애 시 서비스 중단 - **해결방안**: - 각 API별 폴백 전략 수립 - 캐싱 적극 활용 - 써킷 브레이커 패턴 적용 - 채널별 독립 처리 ### 3. 실시간 대시보드 성능 - **리스크**: 다중 데이터 소스 통합으로 인한 성능 저하 - **해결방안**: - Redis 캐싱 - 5분 간격 데이터 폴링 - WebSocket/SSE를 통한 효율적인 업데이트 - 차트 데이터 메모이제이션 ### 4. 이미지 생성 비용 및 시간 - **리스크**: 이미지 생성 API 비용 및 생성 시간 - **해결방안**: - 생성된 이미지 캐싱 - CDN 활용 - 비동기 생성 + 진행 상황 표시 --- ## 예상 개발 기간 - User 서비스: 2주 - Event 서비스: 3주 - AI 서비스: 4주 (프롬프트 엔지니어링 포함) - Content 서비스: 3주 - Distribution 서비스: 4주 (다중 API 연동) - Participation 서비스: 2주 - Analytics 서비스: 4주 (통합 대시보드) **총 예상 기간**: 12-16주 (병렬 개발 시)