# 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주 (병렬 개발 시)
