kt-event-marketing-fe/design/userstory-table.md
cherry2250 3f6e005026 초기 프로젝트 설정 및 설계 문서 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 10:10:16 +09:00

16 KiB

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