1318 lines
48 KiB
Markdown
1318 lines
48 KiB
Markdown
# KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 유저스토리
|
||
|
||
## 마이크로서비스 구성
|
||
|
||
1. **User** - 회원 인증 및 매장 정보 관리
|
||
2. **Event Planning** - AI 기반 이벤트 자동 기획
|
||
3. **Content Generation** - AI 기반 콘텐츠 자동 생성
|
||
4. **Distribution** - 다중 채널 자동 배포
|
||
5. **Participation** - 이벤트 참여 및 접수 관리
|
||
6. **Analytics** - 실시간 효과 측정 및 분석
|
||
7. **AI Learning** - AI 학습 및 개선 제안
|
||
|
||
---
|
||
|
||
## 유저스토리
|
||
|
||
```
|
||
1. User 서비스
|
||
1) 사용자 인증 및 관리
|
||
UFR-USER-001: [로그인] 소상공인으로서 | 나는, 서비스를 이용하기 위해 | 등록된 계정으로 로그인하고 싶다.
|
||
- 시나리오: 로그인 인증
|
||
앱 실행 또는 웹 접속 시 | 이메일과 비밀번호를 입력하고 로그인하면 | 인증이 완료되고 홈 화면으로 이동한다.
|
||
|
||
[입력 요구사항]
|
||
- [ ] 이메일 입력 (필수)
|
||
- [ ] 비밀번호 입력 (필수)
|
||
- [ ] 자동 로그인 체크박스 (선택)
|
||
|
||
[인증 처리]
|
||
- [ ] 이메일과 비밀번호 검증
|
||
- [ ] JWT 토큰 발급
|
||
- [ ] 세션 생성
|
||
- [ ] 로그인 상태 유지 (자동 로그인 선택 시)
|
||
|
||
[처리 결과]
|
||
- [ ] 성공: 홈 화면(UFR-USER-002)으로 이동
|
||
- [ ] 실패: 오류 메시지 표시
|
||
- "이메일 또는 비밀번호가 일치하지 않습니다"
|
||
- "존재하지 않는 계정입니다"
|
||
|
||
[추가 기능]
|
||
- [ ] 비밀번호 찾기 링크
|
||
- [ ] 회원가입 화면으로 이동 링크
|
||
|
||
- M/5
|
||
|
||
---
|
||
|
||
UFR-USER-002: [홈화면] 소상공인으로서 | 나는, 로그인 후 | 내 이벤트 현황을 한눈에 보고 새 이벤트를 시작하고 싶다.
|
||
- 시나리오: 홈 화면 조회
|
||
로그인 완료 후 | 홈 화면에 접속하면 | 진행 중인 이벤트 요약, 최근 성과, 새 이벤트 생성 버튼이 표시된다.
|
||
|
||
[홈 화면 구성 요소]
|
||
- [ ] 환영 메시지 (매장명 표시)
|
||
- [ ] 대시보드 요약
|
||
- 진행 중인 이벤트 수
|
||
- 총 참여자 수 (이번 달)
|
||
- 총 광고 수익률 (이번 달)
|
||
- [ ] 진행 중인 이벤트 목록 (최대 3개 표시)
|
||
- 이벤트명
|
||
- 남은 기간
|
||
- 현재 참여자 수
|
||
- "상세 보기" 버튼
|
||
- [ ] 빠른 액션 버튼
|
||
- "새 이벤트 생성" (PLAN-010으로 이동)
|
||
- "모든 이벤트 보기"
|
||
- "성과 분석 보기"
|
||
|
||
[처리]
|
||
- [ ] 사용자 정보 조회 (매장명)
|
||
- [ ] 진행 중인 이벤트 목록 조회
|
||
- [ ] 이벤트 통계 집계 (이번 달 기준)
|
||
|
||
[네비게이션]
|
||
- [ ] 새 이벤트 생성 버튼 → UFR-PLAN-010
|
||
- [ ] 이벤트 상세 보기 → 해당 이벤트 대시보드
|
||
- [ ] 성과 분석 보기 → UFR-ANAL-010
|
||
|
||
- M/8
|
||
|
||
---
|
||
|
||
UFR-USER-010: [회원가입] 소상공인으로서 | 나는, 이벤트 자동 생성 서비스를 사용하기 위해 | 간편하게 회원가입하고 싶다.
|
||
- 시나리오: 기본 정보 입력
|
||
미가입 상태에서 | 이름, 전화번호, 이메일, 비밀번호를 입력하고 회원가입을 하면 | 회원가입이 완료되고 매장 정보 등록 화면으로 이동한다.
|
||
|
||
[입력 요구사항]
|
||
- [ ] 이름 2자 이상 입력 가능 (필수)
|
||
- [ ] 전화번호 형식 검증 (010-XXXX-XXXX) (필수)
|
||
- [ ] 이메일 형식 검증 (example@domain.com) (필수)
|
||
- [ ] 비밀번호 입력 (필수)
|
||
- 최소 8자 이상
|
||
- 영문, 숫자, 특수문자 조합
|
||
- [ ] 비밀번호 확인 (필수, 비밀번호와 일치 검증)
|
||
- [ ] 중복 가입 방지 (이메일과 전화번호 기준)
|
||
|
||
[처리 결과]
|
||
- [ ] 성공: "회원가입이 완료되었습니다" 메시지 → 매장 정보 등록 화면
|
||
- [ ] 실패: 구체적인 오류 메시지 표시
|
||
|
||
- M/5
|
||
|
||
---
|
||
|
||
UFR-USER-020: [매장정보등록] 소상공인으로서 | 나는, 맞춤형 이벤트를 생성하기 위해 | 내 매장 정보를 등록하고 싶다.
|
||
- 시나리오: 매장 정보 입력 및 사업자번호 검증
|
||
회원가입 완료 후 | 매장명, 업종, 주소, 사업자번호, 메뉴 정보를 입력하면 | 사업자번호 검증 후 매장 정보가 저장되고 무료 체험 쿠폰이 발급된다.
|
||
|
||
[입력 요구사항]
|
||
- [ ] 매장명 입력 (최대 50자)
|
||
- [ ] 업종 선택 (카테고리 리스트 제공: 음식점, 카페, 소매업 등)
|
||
- [ ] 주소 입력 (도로명 주소 API 연동)
|
||
- [ ] 메뉴/상품 정보 입력 (선택, 최대 10개)
|
||
- 메뉴명/상품명 (최대 30자)
|
||
- 가격 정보
|
||
- 간단한 설명 (최대 100자)
|
||
- [ ] 매장 특징/강점 입력 (선택, 최대 200자)
|
||
- [ ] 대표 이미지 업로드 (선택, 최대 3장)
|
||
|
||
[사업자번호 검증]
|
||
- [ ] 사업자번호 형식 검증 (XXX-XX-XXXXX)
|
||
- [ ] 사업자번호 유효성 확인
|
||
- [ ] 휴폐업 여부 확인
|
||
- [ ] 매장명과 사업자 정보 일치 확인
|
||
|
||
[처리 결과]
|
||
- [ ] 검증 성공 시 매장 정보 DB 저장
|
||
- [ ] 검증 실패 시 명확한 오류 메시지 제공 (유효하지 않은 번호, 휴폐업 등)
|
||
- [ ] 재입력 가능하도록 UI 유지
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
2. Event Planning 서비스
|
||
1) AI 이벤트 기획
|
||
UFR-PLAN-010: [이벤트목적선택] 소상공인으로서 | 나는, 효과적인 이벤트를 기획하기 위해 | 이벤트 목적을 선택하고 싶다.
|
||
- 시나리오: 이벤트 기획 시작 및 목적 설정
|
||
이벤트 기획 화면에 접근한 상황에서 | 신규고객 유치, 재방문 유도, 매출 증대, 인지도 향상 중 하나를 선택하면 | 선택한 목적이 저장되고 AI 트렌드 분석이 시작된다.
|
||
|
||
[목적 선택 옵션]
|
||
- [ ] 신규고객 유치: 신규 고객 확보에 초점
|
||
- [ ] 재방문 유도: 기존 고객의 재방문 촉진
|
||
- [ ] 매출 증대: 단기 매출 향상
|
||
- [ ] 인지도 향상: 브랜드 인지도 제고
|
||
|
||
[UI/UX 요구사항]
|
||
- [ ] 각 목적별 설명 툴팁 제공
|
||
- [ ] 목적별 예상 효과 미리보기
|
||
- [ ] 단일 선택만 가능 (라디오 버튼)
|
||
|
||
- M/3
|
||
|
||
---
|
||
|
||
UFR-PLAN-020: [AI업종트렌드분석] 소상공인으로서 | 나는, 성공률 높은 이벤트를 기획하기 위해 | AI가 내 업종과 지역의 트렌드를 분석해주기를 원한다.
|
||
- 시나리오: AI 기반 업종 및 지역 트렌드 분석
|
||
이벤트 목적 선택 후 | 시스템이 내 매장의 업종, 지역, 현재 시즌을 분석하면 | 업종별 성공 사례와 트렌드 리포트가 생성된다.
|
||
|
||
[분석 입력 데이터]
|
||
- [ ] 매장 업종 정보 (USER 서비스에서 조회)
|
||
- [ ] 매장 위치 정보 (지역, 상권)
|
||
- [ ] 현재 시즌 정보 (봄/여름/가을/겨울, 명절)
|
||
|
||
[트렌드 분석 처리]
|
||
- [ ] 트렌드 분석 시스템 API 호출
|
||
- [ ] 과거 동일 업종 성공 사례 데이터 분석
|
||
- [ ] 지역별 트렌드 반영 (유동인구, 연령대 등)
|
||
- [ ] 시즌 특성 고려 (계절 이벤트, 명절 등)
|
||
|
||
[분석 결과 제공]
|
||
- [ ] 트렌드 리포트 생성 (주요 트렌드 3-5가지)
|
||
- [ ] 추천 이벤트 방향 제시
|
||
- [ ] 예상 성공률 표시 (%로 표현)
|
||
- [ ] 분석 결과를 다음 단계(경품 추천)에 전달
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-PLAN-030: [AI경품추천] 소상공인으로서 | 나는, 예산 내에서 최적의 경품을 선정하기 위해 | AI가 타겟 고객층에 맞는 경품을 추천해주기를 원한다.
|
||
- 시나리오: AI 기반 최적 경품 추천 및 이벤트 진행 방법 선택
|
||
트렌드 분석 완료 후 | 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법을 입력하면 | Claude API가 예산 대비 매력도가 높은 경품 Top 5를 추천한다.
|
||
|
||
[입력 요구사항]
|
||
- [ ] 예산 입력 (최소 10,000원 ~ 최대 5,000,000원)
|
||
- [ ] 타겟 고객층 자동 설정 (업종 기반)
|
||
- [ ] 이벤트 목적 연동 (PLAN-010에서 선택한 목적)
|
||
- [ ] 이벤트 진행 방법 선택 (필수)
|
||
- [옵션1] 추첨형: 기간 내 참여한 고객 중 이벤트가 끝나면 상품(쿠폰) 수량 안에서 당첨자 랜덤 추첨 진행
|
||
- [옵션2] 선착순형: 선착순 쿠폰 소진 방식 (e.g: 오픈 이벤트 50% 할인이벤트 50명 한정 진행 등, 소진 시 UFR-PART-050으로 바로 이벤트 종료)
|
||
|
||
[AI 경품 추천 처리]
|
||
- [ ] Claude API 연동
|
||
- [ ] 프롬프트: 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법, 업종 정보 포함
|
||
- [ ] 예산 대비 매력도 최대화 알고리즘 적용
|
||
- [ ] 타겟 고객 선호도 분석
|
||
- [ ] 이벤트 진행 방법에 따른 경품 수량 제안
|
||
|
||
[추천 결과 제공]
|
||
- [ ] 경품 목록 Top 5 생성
|
||
- [ ] 각 경품별 예상 효과 표시 (참여율 예상)
|
||
- [ ] 예산 범위 내 경품 필터링
|
||
- [ ] 소상공인이 1개 선택 또는 수정 가능
|
||
|
||
[경품 수정 기능]
|
||
- [ ] 추천 경품 내용 수정 가능 (경품명, 수량, 가격)
|
||
- [ ] 직접 경품 입력 옵션 제공
|
||
- [ ] 수정된 내용 기반 예상 효과 재계산
|
||
- [ ] 예산 초과 시 경고 메시지 표시
|
||
- [ ] 선착순형 이벤트 선택 시 쿠폰 소진 시점 자동 종료 안내
|
||
|
||
[Policy]
|
||
- 예산 내 최적 경품 선정
|
||
- 타겟 고객 선호도 우선 고려
|
||
- 소상공인의 경품 수정 자유도 보장
|
||
- 이벤트 진행 방법에 따른 자동 프로세스 차별화
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-PLAN-040: [AI참여방법설계] 소상공인으로서 | 나는, 고객 참여를 높이기 위해 | AI가 간단하면서도 재방문을 유도하는 참여 방법을 설계해주기를 원한다.
|
||
- 시나리오: AI 기반 참여 방법 설계
|
||
경품 선택 완료 후 | 이벤트 목적, 매장 특성, 선택 경품을 기반으로 Claude API가 분석하면 | 3가지 참여 방법 옵션이 제시된다.
|
||
|
||
[설계 입력 데이터]
|
||
- [ ] 이벤트 목적 (PLAN-010)
|
||
- [ ] 매장 특성 (업종, 위치)
|
||
- [ ] 선택한 경품 정보 (PLAN-030)
|
||
|
||
[AI 참여 방법 설계]
|
||
- [ ] Claude API 연동
|
||
- [ ] 간단한 참여 방법 우선 설계
|
||
- [ ] 재방문 유도 요소 포함
|
||
- [ ] 바이럴 확산 장치 설계 (SNS 공유 등)
|
||
|
||
[참여 방법 옵션 제공]
|
||
- [ ] 3가지 옵션 생성
|
||
- 옵션 1: 가장 간단한 방법 (예: QR 코드 스캔)
|
||
- 옵션 2: 재방문 유도형 (예: 매장 방문 후 리뷰 작성)
|
||
- 옵션 3: 바이럴형 (예: SNS 공유 + 친구 태그)
|
||
- [ ] 각 옵션별 예상 참여율 표시
|
||
- [ ] 난이도 표시 (쉬움/보통/어려움)
|
||
- [ ] 소상공인이 1개 선택
|
||
|
||
[Policy]
|
||
- 참여 난이도와 재방문율의 균형 유지
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-PLAN-050: [AI홍보문구생성] 소상공인으로서 | 나는, 매력적인 홍보를 위해 | AI가 이벤트 개요에 맞는 홍보 문구를 자동으로 생성해주기를 원한다.
|
||
- 시나리오: AI 기반 홍보 문구 자동 생성
|
||
참여 방법 선택 완료 후 | 이벤트 개요, 경품 정보, 참여 방법을 GPT-4 AI에 전달하면 | 5개 버전의 홍보 문구와 SNS 해시태그가 생성된다.
|
||
|
||
[생성 입력 데이터]
|
||
- [ ] 이벤트 개요 (목적, 기간)
|
||
- [ ] 경품 정보
|
||
- [ ] 참여 방법
|
||
- [ ] 매장 특성
|
||
|
||
[AI 홍보 문구 생성]
|
||
- [ ] GPT-4 API 연동
|
||
- [ ] 프롬프트: 이벤트 정보, 타겟 고객층, 매장 특성 포함
|
||
- [ ] 5개 버전의 홍보 문구 생성
|
||
- [ ] 각 버전별 톤앤매너 차별화 (친근함/공식적/트렌디 등)
|
||
|
||
[홍보 문구 결과]
|
||
- [ ] 문구 5개 버전 제공
|
||
- [ ] SNS 해시태그 자동 생성 (5-10개)
|
||
- [ ] 플랫폼별 최적화 문구 제공 (Instagram, Blog, Kakao)
|
||
- [ ] 미리보기 기능
|
||
- [ ] 소상공인이 1개 선택 또는 편집 가능
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-PLAN-060: [이벤트기획안승인] 소상공인으로서 | 나는, 이벤트를 실행하기 위해 | 완성된 기획안을 검토하고 승인하고 싶다.
|
||
- 시나리오: 완성된 이벤트 기획안 검토 및 승인
|
||
모든 기획 단계 완료 후 | 완성된 기획안(목적, 경품, 참여방법, 홍보문구)을 확인하면 | 승인 버튼 클릭으로 기획안이 저장되고 콘텐츠 생성 단계로 이동한다.
|
||
|
||
[기획안 요약 제공]
|
||
- [ ] 이벤트 목적
|
||
- [ ] 선택한 경품
|
||
- [ ] 참여 방법
|
||
- [ ] 홍보 문구
|
||
- [ ] 예상 예산
|
||
- [ ] 예상 효과 (참여율, ROI)
|
||
|
||
[승인 처리]
|
||
- [ ] 승인 버튼 클릭 시 이벤트 기획안 DB 저장
|
||
- [ ] 이벤트 ID 생성
|
||
- [ ] 다음 단계(콘텐츠 생성) 안내
|
||
|
||
[수정 기능]
|
||
- [ ] 이전 단계로 돌아가기 버튼
|
||
- [ ] 각 항목별 수정 가능
|
||
|
||
[성능 기준]
|
||
- [ ] 전체 기획 과정 10초 이내 완료 (AI 처리 시간 포함)
|
||
|
||
- M/5
|
||
|
||
---
|
||
|
||
3. Content Generation 서비스
|
||
1) 콘텐츠 자동 생성
|
||
UFR-CONT-010: [AI이미지생성] 소상공인으로서 | 나는, 이벤트 홍보를 위해 | AI가 브랜드 컬러와 로고를 반영한 이미지 3종을 자동으로 생성해주기를 원한다.
|
||
- 시나리오: AI 기반 이미지 자동 생성
|
||
콘텐츠 생성 화면에서 | 이벤트 기획안 ID, 브랜드 컬러, 로고 이미지를 전달하면 | Stable Diffusion이 3가지 스타일의 이미지를 생성한다.
|
||
|
||
[입력 요구사항]
|
||
- [ ] 이벤트 제목 (기획안에서 자동 연동)
|
||
- [ ] 경품 이미지
|
||
- [ ] 브랜드 컬러 (HEX 코드 입력 또는 색상 선택기)
|
||
- [ ] 로고 이미지 업로드 (PNG, JPG, 최대 5MB)
|
||
|
||
[AI 이미지 생성]
|
||
- [ ] Stable Diffusion API 연동
|
||
- [ ] 브랜드 컬러 자동 적용
|
||
- [ ] 로고 자동 배치 (우측 상단 또는 중앙 하단)
|
||
- [ ] 3가지 스타일 생성
|
||
- 심플: 미니멀 디자인
|
||
- 화려: 풍성한 그래픽 요소
|
||
- 트렌디: 최신 디자인 트렌드 반영
|
||
|
||
[생성 결과]
|
||
- [ ] 이미지 3종 제공 (각각 1080x1080 해상도)
|
||
- [ ] 미리보기 기능
|
||
- [ ] 이미지 다운로드 가능
|
||
- [ ] 1개 선택하여 다음 단계 진행
|
||
|
||
[Policy]
|
||
- 브랜드 일관성 유지
|
||
- 저작권 준수 이미지만 사용
|
||
|
||
- M/34
|
||
|
||
---
|
||
|
||
UFR-CONT-030: [SNS콘텐츠생성] 소상공인으로서 | 나는, 다양한 SNS에 게시하기 위해 | 플랫폼별로 최적화된 콘텐츠를 자동으로 생성해주기를 원한다.
|
||
- 시나리오: SNS 플랫폼별 최적화 콘텐츠 생성
|
||
이미지 생성 완료 후 | Instagram, Naver Blog, Kakao Channel을 선택하면 | 각 SNS 플랫폼에 최적화된 해상도와 형식의 콘텐츠가 생성된다.
|
||
|
||
[SNS 플랫폼 선택]
|
||
- [ ] Instagram (선택)
|
||
- [ ] Naver Blog (선택)
|
||
- [ ] Kakao Channel (선택)
|
||
- [ ] 최소 1개 이상 플랫폼 선택 필수
|
||
|
||
[플랫폼별 최적화]
|
||
- [ ] Instagram: 1080x1080 (정사각형)
|
||
- [ ] Naver Blog: 800x600 (가로형)
|
||
- [ ] Kakao Channel: 800x800 (정사각형)
|
||
|
||
[콘텐츠 생성]
|
||
- [ ] 선택한 이미지를 플랫폼별 해상도로 자동 조정
|
||
- [ ] 해시태그 자동 삽입 (기획안의 해시태그 활용)
|
||
- [ ] 플랫폼별 텍스트 최적화 (글자 수 제한 고려)
|
||
|
||
[생성 결과]
|
||
- [ ] 플랫폼별 최적화 이미지 파일
|
||
- [ ] 각 플랫폼용 게시 텍스트
|
||
- [ ] 미리보기 기능
|
||
- [ ] 일괄 다운로드 가능 (ZIP 파일)
|
||
|
||
[Policy]
|
||
- SNS 플랫폼별 최적 해상도 자동 조정
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-CONT-040: [QR포스터생성] 소상공인으로서 | 나는, 오프라인 홍보를 위해 | QR 코드가 포함된 인쇄용 포스터를 생성하고 싶다.
|
||
- 시나리오: 콘텐츠 생성 후 QR 코드 포스터 생성 여부 선택
|
||
콘텐츠 생성 완료 후 | QR 포스터 생성 여부를 묻는 화면에서 "생성" 선택 시 | QR 연결 URL과 포스터 크기를 입력하면 | QR 코드가 포함된 인쇄용 포스터 PDF가 생성된다.
|
||
|
||
[QR 포스터 생성 여부 선택]
|
||
- [ ] "QR 포스터 생성" 선택 시: QR 포스터 생성 화면으로 이동
|
||
- [ ] "생성 안 함" 선택 시: 콘텐츠 편집 단계(UFR-CONT-050)로 바로 이동
|
||
|
||
[입력 요구사항] (QR 포스터 생성 선택 시)
|
||
- [ ] QR 연결 URL (이벤트 참여 페이지 URL)
|
||
- [ ] 포스터 크기 선택 (A4 또는 A3)
|
||
|
||
[QR 포스터 생성]
|
||
- [ ] QR 코드 생성 API 연동
|
||
- [ ] 선택한 이미지를 배경으로 사용
|
||
- [ ] QR 코드 배치 (하단 중앙)
|
||
- [ ] 이벤트 정보 텍스트 삽입 (제목, 기간, 경품)
|
||
- [ ] 인쇄 최적화 (300dpi 이상)
|
||
|
||
[생성 결과]
|
||
- [ ] A4 포스터 PDF
|
||
- [ ] A3 포스터 PDF (선택 시)
|
||
- [ ] QR 코드 단독 이미지 (PNG)
|
||
- [ ] 다운로드 가능
|
||
|
||
- M/8
|
||
|
||
---
|
||
|
||
UFR-CONT-050: [콘텐츠편집] 소상공인으로서 | 나는, 콘텐츠를 개인화하기 위해 | 생성된 콘텐츠를 수정하고 싶다.
|
||
- 시나리오: 생성된 콘텐츠 편집
|
||
전체 콘텐츠 미리보기 화면에서 | 수정이 필요한 콘텐츠를 선택하면 | 간단한 편집 도구로 수정할 수 있다.
|
||
|
||
[편집 가능 항목]
|
||
- [ ] 이미지: 텍스트 수정, 색상 조정
|
||
- [ ] SNS 콘텐츠: 게시 텍스트 편집
|
||
- [ ] QR 포스터: 텍스트 수정, 레이아웃 조정 (생성한 경우)
|
||
|
||
[편집 도구]
|
||
- [ ] 텍스트 편집기 (폰트, 크기, 색상 변경)
|
||
- [ ] 색상 선택기
|
||
- [ ] 레이아웃 템플릿 변경
|
||
- [ ] 미리보기 실시간 반영
|
||
|
||
[편집 완료]
|
||
- [ ] 저장 버튼으로 수정사항 적용
|
||
- [ ] 편집 이력 관리 (최대 3개 버전)
|
||
- [ ] 원본으로 되돌리기 가능
|
||
|
||
- S/13
|
||
|
||
---
|
||
|
||
UFR-CONT-060: [콘텐츠최종승인] 소상공인으로서 | 나는, 배포 전에 | 완성된 콘텐츠를 검토하고 승인하고 싶다.
|
||
- 시나리오: 완성된 콘텐츠 최종 승인
|
||
모든 콘텐츠 생성 완료 후 | 전체 콘텐츠 미리보기를 확인하면 | 승인 버튼으로 콘텐츠를 저장하고 배포 단계로 이동한다.
|
||
|
||
[콘텐츠 미리보기]
|
||
- [ ] 이미지 3종
|
||
- [ ] SNS 콘텐츠 (플랫폼별)
|
||
- [ ] QR 포스터 (생성한 경우)
|
||
|
||
[승인 처리]
|
||
- [ ] 승인 버튼 클릭 시 콘텐츠 DB 저장
|
||
- [ ] 콘텐츠 ID 생성
|
||
- [ ] 다음 단계(배포) 안내
|
||
|
||
[성능 기준]
|
||
- [ ] 전체 콘텐츠 생성 2-3분 이내 완료
|
||
|
||
- M/3
|
||
|
||
---
|
||
|
||
4. Distribution 서비스
|
||
1) 다중 채널 배포
|
||
UFR-DIST-010: [다중채널배포설정] 소상공인으로서 | 나는, 이벤트를 효과적으로 홍보하기 위해 | 여러 채널에 한 번에 배포할 수 있기를 원한다.
|
||
- 시나리오: 배포 채널 선택 및 설정
|
||
배포 화면에서 | 원하는 배포 채널을 선택하고 배포 일시를 설정하면 | 선택한 채널 목록이 저장되고 각 채널별 배포가 시작된다.
|
||
|
||
[배포 채널 선택]
|
||
- [ ] 우리동네TV (선택)
|
||
- [ ] 링고비즈 연결음 (선택)
|
||
- [ ] 지니TV 광고 (선택)
|
||
- [ ] Instagram (선택)
|
||
- [ ] Naver Blog (선택)
|
||
- [ ] Kakao Channel (선택)
|
||
- [ ] 최소 1개 이상 채널 선택 필수
|
||
|
||
[배포 설정]
|
||
- [ ] 즉시 배포 또는 예약 배포 선택
|
||
- [ ] 예약 시 날짜 및 시간 선택
|
||
- [ ] 채널별 개별 설정 가능 (시간대, 예산 등)
|
||
|
||
[배포 시작]
|
||
- [ ] 선택한 채널 목록 저장
|
||
- [ ] 배포 요청 이벤트 발생
|
||
- [ ] 각 채널별 병렬 배포 시작
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-DIST-020: [우리동네TV배포] 소상공인으로서 | 나는, 주변 지역 고객에게 도달하기 위해 | 우리동네TV에 반경과 시간대를 설정하여 배포하고 싶다.
|
||
- 시나리오: 우리동네TV 배포 설정 및 송출
|
||
배포 채널로 우리동네TV 선택 시 | 반경(500m/1km)과 송출 시간대를 설정하면 | 15초 영상이 해당 지역에 송출된다.
|
||
|
||
[배포 설정]
|
||
- [ ] 반경 선택 (500m 또는 1km)
|
||
- [ ] 송출 시간대 선택 (평일 저녁 6-9시, 주말 점심 12-2시 등)
|
||
- [ ] 15초 영상 파일 전달 (CONT-020)
|
||
|
||
[우리동네TV API 연동]
|
||
- [ ] 우리동네TV API 호출
|
||
- [ ] 매장 위치 기반 타겟 지역 설정
|
||
- [ ] 송출 시간대 예약
|
||
- [ ] 영상 파일 업로드
|
||
|
||
[배포 결과]
|
||
- [ ] 배포 ID 발급
|
||
- [ ] 예상 노출 수 제공
|
||
- [ ] 송출 스케줄 확인 가능
|
||
|
||
[Policy]
|
||
- 채널별 최적 송출 시간대 자동 선정
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-DIST-030: [링고비즈연결음업데이트] 소상공인으로서 | 나는, 전화하는 고객에게도 홍보하기 위해 | 매장 전화번호의 연결음을 이벤트 내용으로 자동 업데이트하고 싶다.
|
||
- 시나리오: 링고비즈 연결음 업데이트
|
||
배포 채널로 링고비즈 선택 시 | 매장 전화번호와 연결음 파일을 전달하면 | 연결음이 자동으로 업데이트된다.
|
||
|
||
[연결음 생성]
|
||
- [ ] 홍보 문구 기반 연결음 스크립트 자동 생성
|
||
- [ ] 네이버 클로바(Clova) TTS 엔진을 이용한 음성 파일 생성
|
||
- [ ] 음성 톤 선택 가능 (친근한 톤, 공식적인 톤, 활기찬 톤 등)
|
||
- [ ] 또는 사전 녹음 파일 업로드 (MP3, WAV 형식)
|
||
|
||
[네이버 클로바 TTS 연동]
|
||
- [ ] 네이버 클로바 TTS API 연동
|
||
- [ ] 음성 합성 옵션 설정 (음색, 속도, 톤)
|
||
- [ ] 고품질 음성 파일 생성 (16kHz 이상)
|
||
- [ ] 생성된 음성 파일 미리듣기 기능
|
||
|
||
[링고비즈 API 연동]
|
||
- [ ] 링고비즈 API 호출
|
||
- [ ] 매장 전화번호 전달 (USER 서비스에서 조회)
|
||
- [ ] 연결음 파일 업로드
|
||
- [ ] 업데이트 요청
|
||
|
||
[업데이트 결과]
|
||
- [ ] 업데이트 완료 시각 확인
|
||
- [ ] 연결음 미리듣기 가능
|
||
- [ ] 롤백 기능 (이전 연결음으로 복구)
|
||
|
||
[Policy]
|
||
- 네이버 클로바 TTS 엔진 활용 필수
|
||
- 자연스러운 음성 품질 보장
|
||
|
||
- S/13
|
||
|
||
---
|
||
|
||
UFR-DIST-040: [지니TV광고배포] 소상공인으로서 | 나는, 가정의 TV를 통해 홍보하기 위해 | 지니TV에 예산과 타겟 지역을 설정하여 광고를 배포하고 싶다.
|
||
- 시나리오: 지니TV 광고 예약 및 송출
|
||
배포 채널로 지니TV 선택 시 | 타겟 지역, 노출 시간대, 예산을 설정하면 | 지니TV에 광고가 예약되고 노출된다.
|
||
|
||
[광고 설정]
|
||
- [ ] 타겟 지역 선택 (매장 주변 반경 1km, 3km, 5km)
|
||
- [ ] 노출 시간대 선택 (아침/점심/저녁/심야)
|
||
- [ ] 예산 입력 (최소 100,000원)
|
||
|
||
[지니TV API 연동]
|
||
- [ ] 지니TV 광고 플랫폼 API 호출
|
||
- [ ] 타겟 지역 설정
|
||
- [ ] 노출 시간대 및 빈도 설정
|
||
- [ ] 예산 기반 노출량 자동 계산
|
||
- [ ] 영상 파일 업로드 (15초 영상)
|
||
|
||
[광고 예약 결과]
|
||
- [ ] 광고 ID 발급
|
||
- [ ] 노출 스케줄 확인
|
||
- [ ] 예상 노출 횟수 및 도달 가구 수 제공
|
||
|
||
[Policy]
|
||
- 예산 기반 노출량 자동 조절
|
||
- 시간대별 차등 과금 적용
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-DIST-050: [SNS자동포스팅] 소상공인으로서 | 나는, 온라인 고객에게 도달하기 위해 | Instagram, Naver Blog, Kakao Channel에 자동으로 포스팅하고 싶다.
|
||
- 시나리오: SNS 플랫폼 자동 포스팅
|
||
배포 채널로 SNS 선택 시 | 플랫폼별 계정 연동 후 예약 시간을 설정하면 | 각 SNS에 자동으로 포스팅된다.
|
||
|
||
[계정 연동]
|
||
- [ ] Instagram 계정 OAuth 연동
|
||
- [ ] Naver Blog 계정 OAuth 연동
|
||
- [ ] Kakao Channel 계정 OAuth 연동
|
||
- [ ] 연동 상태 확인
|
||
|
||
[포스팅 설정]
|
||
- [ ] 즉시 포스팅 또는 예약 포스팅
|
||
- [ ] 예약 시간 설정 (플랫폼별 개별 설정 가능)
|
||
- [ ] 게시물 미리보기
|
||
|
||
[SNS API 연동 (병렬 처리)]
|
||
- [ ] Instagram API 호출
|
||
- [ ] Naver Blog API 호출
|
||
- [ ] Kakao Channel API 호출
|
||
- [ ] 플랫폼별 최적화 콘텐츠 및 텍스트 전달
|
||
|
||
[포스팅 결과]
|
||
- [ ] 각 플랫폼별 포스팅 완료 확인
|
||
- [ ] 게시물 URL 제공
|
||
- [ ] 포스팅 실패 시 재시도 (최대 3회)
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-DIST-060: [오프라인자료다운로드] 소상공인으로서 | 나는, 매장 내 홍보를 위해 | QR 포스터와 인쇄용 PDF를 다운로드하고 싶다.
|
||
- 시나리오: 오프라인 홍보 자료 다운로드
|
||
배포 완료 화면에서 | 오프라인 자료 다운로드 버튼을 클릭하면 | QR 포스터와 인쇄용 PDF가 다운로드된다.
|
||
|
||
[다운로드 자료]
|
||
- [ ] QR 코드 포스터 (A4 PDF)
|
||
- [ ] QR 코드 포스터 (A3 PDF)
|
||
- [ ] QR 코드 단독 이미지 (PNG)
|
||
- [ ] 인쇄용 이미지 (고해상도 300dpi 이상)
|
||
|
||
[다운로드 기능]
|
||
- [ ] 개별 파일 다운로드
|
||
- [ ] 전체 파일 일괄 다운로드 (ZIP)
|
||
- [ ] 다운로드 이력 관리
|
||
|
||
[성능 기준]
|
||
- [ ] 전체 배포 과정 1분 이내 완료
|
||
|
||
- S/5
|
||
|
||
---
|
||
|
||
5. Participation 서비스
|
||
1) 이벤트 참여 관리
|
||
UFR-PART-010: [이벤트참여신청] 고객으로서 | 나는, 경품을 받기 위해 | 간편하게 이벤트에 참여하고 싶다.
|
||
- 시나리오: 고객의 이벤트 참여 신청
|
||
고객이 이벤트를 발견한 상황에서 | 이름, 전화번호, 참여 경로를 입력하고 참여 버튼을 클릭하면 | 참여 정보가 접수되고 응모번호가 발급된다.
|
||
|
||
[이벤트 발견 경로]
|
||
- [ ] 우리동네TV
|
||
- [ ] 지니TV
|
||
- [ ] 링고 비즈 (연결음)
|
||
- [ ] SNS (Instagram, Blog, Kakao)
|
||
- [ ] QR 코드 스캔
|
||
|
||
[참여 정보 입력]
|
||
- [ ] 고객명 입력 (필수)
|
||
- [ ] 전화번호 입력 (필수, 010-XXXX-XXXX 형식)
|
||
- [ ] 참여 경로 자동 추적 또는 선택
|
||
- [ ] 개인정보 수집 동의 체크 (필수)
|
||
|
||
[참여 신청 처리]
|
||
- [ ] 입력 정보 검증 (형식 확인)
|
||
- [ ] 중복 참여 체크 (전화번호 기준)
|
||
- [ ] 참여 데이터 저장
|
||
|
||
[참여 완료]
|
||
- [ ] 응모번호 자동 발급
|
||
- [ ] 참여 완료 메시지 표시
|
||
- [ ] 당첨 발표일 안내
|
||
|
||
[Policy]
|
||
- 1인 1회 참여 제한
|
||
- 개인정보 보호 규정 준수
|
||
|
||
- M/8
|
||
|
||
---
|
||
|
||
UFR-PART-020: [중복참여방지] 시스템으로서 | 나는, 공정한 이벤트 운영을 위해 | 1인 1회 참여만 허용하고 싶다.
|
||
- 시나리오: 중복 참여 방지 및 차단
|
||
고객이 참여 신청 시 | 전화번호 기반으로 중복 여부를 확인하면 | 중복 참여는 차단하고 정상 참여만 접수한다.
|
||
|
||
[중복 체크 처리]
|
||
- [ ] 참여자 DB에서 전화번호 조회
|
||
- [ ] 동일 이벤트 ID에 대한 중복 여부 확인
|
||
- [ ] 매장 방문 고객 여부 확인 (가산점 부여용)
|
||
|
||
[중복 참여 차단]
|
||
- [ ] 중복 참여 시 "이미 참여하셨습니다" 메시지
|
||
- [ ] 이전 참여 일시 표시
|
||
- [ ] 재참여 불가 안내
|
||
|
||
[정상 참여 처리]
|
||
- [ ] 중복 없음 확인
|
||
- [ ] 참여 정보 DB 저장
|
||
- [ ] 참여 ID 생성
|
||
- [ ] 참여 일시 기록
|
||
- [ ] 참여 채널 기록
|
||
- [ ] 매장 방문 고객인 경우 가산점 부여 플래그
|
||
|
||
[Policy]
|
||
- 전화번호 기반 중복 체크
|
||
- 매장 방문 고객 가산점 부여
|
||
- 허위 정보 필터링
|
||
|
||
- M/8
|
||
|
||
---
|
||
|
||
UFR-PART-030: [자동당첨자추첨] 소상공인으로서 | 나는, 수동 관리 부담을 줄이기 위해 | 추첨형 이벤트 종료 시 자동으로 당첨자가 추첨되기를 원한다.
|
||
- 시나리오: 추첨형 이벤트 종료 후 자동 추첨
|
||
추첨형 이벤트 종료 시각 도래 시 | 시스템이 자동으로 참여자 목록을 조회하면 | 공정한 알고리즘으로 당첨자를 추첨하고 명단을 생성한다.
|
||
|
||
[추첨 시작 트리거]
|
||
- [ ] 이벤트 진행 방법 확인 (UFR-PLAN-030에서 선택한 방법)
|
||
- [ ] 추첨형 이벤트: 종료 시각 자동 감지하여 추첨 시작
|
||
- [ ] 선착순형 이벤트: 추첨 진행하지 않음 (쿠폰 소진 시 자동 종료)
|
||
- [ ] 스케줄러에 의한 자동 추첨 시작 (추첨형만)
|
||
- [ ] 또는 소상공인의 수동 추첨 요청 (추첨형만)
|
||
|
||
[당첨자 추첨 처리] (추첨형 이벤트만)
|
||
- [ ] 참여자 목록 조회 (이벤트 ID 기준)
|
||
- [ ] 중복 참여자 제외
|
||
- [ ] 매장 방문 고객 가산점 적용
|
||
- [ ] 난수 기반 무작위 추첨 알고리즘
|
||
- [ ] 당첨 인원만큼 추첨 (기획안에 정의된 인원)
|
||
|
||
[선착순형 이벤트 처리]
|
||
- [ ] 쿠폰 소진 시 자동으로 이벤트 종료 (UFR-PART-050으로 이동)
|
||
- [ ] 참여 순서대로 당첨자 자동 확정
|
||
- [ ] 추첨 과정 없음
|
||
|
||
[추첨 결과] (추첨형 이벤트)
|
||
- [ ] 당첨자 목록 생성
|
||
- [ ] 추첨 과정 로그 기록 (감사 추적용)
|
||
- [ ] 당첨자 정보 DB 저장
|
||
- [ ] 소상공인에게 당첨자 명단 제공
|
||
|
||
[Policy]
|
||
- 이벤트 진행 방법에 따른 자동 프로세스 차별화
|
||
- 추첨형: 공정한 추첨 알고리즘 적용, 매장 방문 고객 가산점
|
||
- 선착순형: 선착순 자동 확정, 추첨 없음
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-PART-040: [당첨알림발송] 고객으로서 | 나는, 당첨 여부를 빠르게 확인하기 위해 | SMS나 카카오 알림톡으로 당첨 알림을 받고 싶다.
|
||
- 시나리오: 당첨자에게 당첨 알림 발송
|
||
당첨자 추첨 완료 후 | 시스템이 당첨자 목록과 경품 정보를 전달하면 | SMS 또는 카카오 알림톡이 자동 발송된다.
|
||
|
||
[알림 발송 준비]
|
||
- [ ] 당첨자 목록 조회
|
||
- [ ] 경품 정보 조회
|
||
- [ ] 매장 정보 조회 (수령 장소 안내용)
|
||
|
||
[SMS/알림톡 발송]
|
||
- [ ] SMS/카카오 알림톡 시스템 API 연동
|
||
- [ ] 당첨 축하 메시지 생성
|
||
- [ ] 경품 정보 포함
|
||
- [ ] 경품 수령 방법 안내
|
||
- [ ] 수령 기한 안내 (예: 발표일로부터 7일 이내)
|
||
- [ ] 매장 연락처 포함
|
||
|
||
[발송 결과]
|
||
- [ ] 발송 성공/실패 확인
|
||
- [ ] 발송 이력 저장
|
||
- [ ] 실패 시 재발송 시도 (최대 3회)
|
||
|
||
[미당첨자 처리]
|
||
- [ ] 미당첨자에게는 별도 알림 미발송
|
||
- [ ] 또는 참여 감사 메시지 발송 (옵션)
|
||
|
||
- M/8
|
||
|
||
---
|
||
|
||
UFR-PART-050: [당첨자명단관리] 소상공인으로서 | 나는, 경품을 지급하기 위해 | 당첨자 명단을 확인하고 관리하고 싶다.
|
||
- 시나리오: 당첨자 명단 조회 및 관리
|
||
당첨자 추첨 완료 후 | 소상공인이 당첨자 관리 화면에 접근하면 | 당첨자 명단과 경품 지급 상태를 확인하고 업데이트할 수 있다.
|
||
|
||
[당첨자 명단 조회]
|
||
- [ ] 이벤트별 당첨자 목록 표시
|
||
- [ ] 당첨자 정보: 이름, 전화번호, 응모번호, 참여일시
|
||
- [ ] 경품 정보 표시
|
||
- [ ] 경품 지급 상태 (미지급/지급완료)
|
||
|
||
[경품 지급 관리]
|
||
- [ ] 경품 지급 상태 업데이트 (체크박스)
|
||
- [ ] 지급 일시 자동 기록
|
||
- [ ] 지급 완료 시 당첨자에게 확인 문자 발송 (옵션)
|
||
|
||
[데이터 다운로드]
|
||
- [ ] 당첨자 명단 엑셀 다운로드
|
||
- [ ] 참여자 전체 명단 다운로드 (분석용)
|
||
|
||
- M/5
|
||
|
||
---
|
||
|
||
6. Analytics 서비스
|
||
1) 효과 측정 및 분석
|
||
UFR-ANAL-010: [실시간대시보드조회] 소상공인으로서 | 나는, 이벤트 성과를 즉시 파악하기 위해 | 실시간으로 참여자 수, 노출 수, 매출 증가율을 확인하고 싶다.
|
||
- 시나리오: 실시간 효과 측정 대시보드 조회
|
||
이벤트 배포 완료 후 | 효과 측정 대시보드에 접근하면 | 5분 간격으로 업데이트되는 실시간 데이터를 확인할 수 있다.
|
||
|
||
[대시보드 주요 지표]
|
||
- [ ] 총 참여자 수 (실시간)
|
||
- [ ] 채널별 노출 수
|
||
- 우리동네TV 노출 수
|
||
- 지니TV 노출 수
|
||
- SNS 조회/공유 수
|
||
- [ ] 매장 방문자 증가율 (이벤트 전후 비교)
|
||
- [ ] 매출 증가율 (이벤트 기간 vs 평균)
|
||
- [ ] 예상 ROI
|
||
|
||
[실시간 데이터 수집]
|
||
- [ ] 5분 간격 자동 업데이트
|
||
- [ ] KT 채널 데이터 수집 API 연동 (우리동네TV, 지니TV)
|
||
- [ ] POS 시스템 연동 (매장 방문, 매출 데이터)
|
||
- [ ] SNS 플랫폼 데이터 수집 (Instagram, Naver Blog, Kakao Channel)
|
||
|
||
[대시보드 UI]
|
||
- [ ] 그래프 시각화 (시간대별 추이)
|
||
- [ ] 숫자 대형 표시 (핵심 지표)
|
||
- [ ] 새로고침 버튼
|
||
- [ ] 자동 새로고침 옵션
|
||
|
||
[Policy]
|
||
- 실시간 데이터 수집 및 업데이트 (5분 간격)
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-ANAL-020: [채널별성과분석] 소상공인으로서 | 나는, 효과적인 채널을 파악하기 위해 | 우리동네TV, 지니TV, SNS 등 채널별 노출 수와 참여율을 비교하고 싶다.
|
||
- 시나리오: 채널별 성과 비교 분석
|
||
효과 측정 대시보드에서 | 채널별 분석 탭을 선택하면 | 각 채널의 노출 수, 참여율, 전환율이 비교되어 표시된다.
|
||
|
||
[채널별 데이터 수집]
|
||
- [ ] 우리동네TV: 노출 수, 도달률
|
||
- [ ] 지니TV: 노출 수, 도달 가구 수
|
||
- [ ] Instagram: 조회 수, 좋아요, 저장 수, 공유 수 (Instagram Graph API 활용)
|
||
- [ ] Naver Blog: 방문자 수, 조회 수 (체류 시간 확인 불가)
|
||
- [ ] Kakao Channel: 조회 수, 클릭 수 (Kakao API 활용)
|
||
- [ ] QR 코드: 스캔 횟수 (자체 QR 코드 추적 시스템)
|
||
|
||
[성과 지표 계산]
|
||
- [ ] 노출 수 (Impression)
|
||
- [ ] 참여율 (Participation Rate = 참여 수 / 노출 수)
|
||
- [ ] 전환율 (Conversion Rate = 매장 방문 / 참여 수)
|
||
- [ ] 채널별 비용 대비 효과 (Cost per Acquisition)
|
||
|
||
[비교 분석 시각화]
|
||
- [ ] 채널별 막대 그래프
|
||
- [ ] 파이 차트 (참여 비율)
|
||
- [ ] 효율성 순위표
|
||
- [ ] 가장 효과적인 채널 강조 표시
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-ANAL-030: [광고수익률자동계산] 소상공인으로서 | 나는, 투자 대비 효과를 명확히 알기 위해 | 총비용 대비 수익(광고 수익률)이 자동으로 계산되기를 원한다.
|
||
- 시나리오: 광고 수익률 자동 계산 및 분석
|
||
이벤트 진행 중 또는 종료 후 | 효과 측정 대시보드에서 | 투자 비용 대비 수익이 자동으로 계산되어 표시된다.
|
||
|
||
[비용 데이터 수집]
|
||
- [ ] 경품 비용 (기획안에서 자동 조회)
|
||
- [ ] 플랫폼 이용 비용
|
||
- 우리동네TV 광고비
|
||
- 지니TV 광고비
|
||
- SNS 광고비 (있는 경우)
|
||
- [ ] 총 투자 비용 계산
|
||
|
||
[수익 데이터 수집]
|
||
- [ ] 매출 증가액 (이벤트 기간 매출 - 평균 매출)
|
||
- [ ] 신규 고객 수 × 예상 LTV (Lifetime Value)
|
||
- [ ] 총 수익 계산
|
||
|
||
[ROI 계산]
|
||
- [ ] ROI = (수익 - 비용) / 비용 × 100
|
||
- [ ] 손익분기점 계산
|
||
- [ ] 회수 기간 예상
|
||
|
||
[결과 표시]
|
||
- [ ] ROI 퍼센트 대형 표시
|
||
- [ ] 손익 분기 달성 여부
|
||
- [ ] 비용/수익 상세 내역
|
||
- [ ] 그래프 시각화
|
||
|
||
[Policy]
|
||
- 이벤트 전후 비교 분석 자동화
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-ANAL-040: [분석리포트생성] 소상공인으로서 | 나는, 이벤트 결과를 정리하기 위해 | 종합 분석 리포트를 PDF로 다운로드하고 싶다.
|
||
- 시나리오: 종합 분석 리포트 생성 및 다운로드
|
||
이벤트 종료 후 | 리포트 생성 버튼을 클릭하면 | 전체 성과를 요약한 PDF 리포트가 생성되어 다운로드된다.
|
||
|
||
[리포트 포함 내용]
|
||
- [ ] 이벤트 개요 (목적, 기간, 경품)
|
||
- [ ] 참여 통계 (총 참여자 수, 채널별 참여 분포)
|
||
- [ ] 노출 통계 (채널별 노출 수, 도달률)
|
||
- [ ] 매출 분석 (매출 증가율, 객단가 변화)
|
||
- [ ] ROI 분석 (투자 대비 수익)
|
||
- [ ] 채널별 성과 비교
|
||
- [ ] 업종 평균 대비 벤치마킹
|
||
- [ ] 그래프 및 차트 시각화
|
||
|
||
[리포트 생성]
|
||
- [ ] 데이터 수집 및 집계
|
||
- [ ] 그래프 이미지 생성
|
||
- [ ] PDF 레이아웃 생성
|
||
- [ ] PDF 파일 생성
|
||
|
||
[다운로드]
|
||
- [ ] PDF 다운로드 링크 제공
|
||
- [ ] 파일명: "이벤트명_분석리포트_YYYYMMDD.pdf"
|
||
- [ ] 이메일 발송 옵션
|
||
|
||
[Policy]
|
||
- 업종별 평균 대비 성과 벤치마킹
|
||
|
||
- S/8
|
||
|
||
---
|
||
|
||
7. AI Learning 서비스
|
||
1) AI 학습 및 개선
|
||
UFR-AIMPR-010: [AI개선안생성] 소상공인으로서 | 나는, 더 나은 이벤트를 운영하기 위해 | AI가 분석 결과를 바탕으로 구체적인 개선안을 제안해주기를 원한다.
|
||
- 시나리오: AI 기반 이벤트 개선안 생성
|
||
이벤트 종료 후 | 시스템이 결과 데이터를 자동 분석하면 | AI가 성공 요인과 실패 요인을 파악하여 3가지 개선안을 제시한다.
|
||
|
||
[결과 데이터 분석]
|
||
- [ ] 빅데이터 분석 시스템 API 호출
|
||
- [ ] 참여율 vs 목표 비교
|
||
- [ ] ROI vs 업종 평균 비교
|
||
- [ ] 채널별 효율성 분석
|
||
- [ ] 시간대별 참여 패턴 분석
|
||
- [ ] 경품 매력도 평가
|
||
|
||
[성공/실패 요인 도출]
|
||
- [ ] 성공 요인 식별 (목표 달성 항목)
|
||
- [ ] 실패 요인 식별 (목표 미달 항목)
|
||
- [ ] 개선 포인트 도출
|
||
|
||
[AI 개선안 생성]
|
||
- [ ] AI 머신러닝 엔진 API 호출
|
||
- [ ] 성공 패턴 학습 및 재활용
|
||
- [ ] 실패 패턴 회피 로직 적용
|
||
- [ ] 최적화 알고리즘 적용
|
||
- [ ] 3가지 개선안 생성
|
||
- 개선안 1: 경품 변경 (더 매력적인 경품)
|
||
- 개선안 2: 참여 방법 단순화 (참여율 향상)
|
||
- 개선안 3: 배포 채널 조정 (효율적 채널 집중)
|
||
|
||
[개선안 제시]
|
||
- [ ] 각 개선안별 우선순위 표시
|
||
- [ ] 예상 효과 제공 (참여율 증가 예상치 등)
|
||
- [ ] 소상공인이 개선안 선택 또는 피드백 제공
|
||
|
||
[Policy]
|
||
- 성공 패턴 자동 학습 및 재활용
|
||
- 실패 요인 회피 로직 적용
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-AIMPR-020: [다음이벤트아이디어제안] 소상공인으로서 | 나는, 계절과 트렌드에 맞는 이벤트를 기획하기 위해 | AI가 시즌별 성공 이벤트 아이디어를 제안해주기를 원한다.
|
||
- 시나리오: AI 기반 다음 이벤트 아이디어 제안
|
||
이벤트 종료 및 개선안 검토 후 | 다음 이벤트 아이디어 요청 버튼을 클릭하면 | AI가 시즌, 학습 결과, 트렌드를 반영한 이벤트 아이디어 5가지를 제안한다.
|
||
|
||
[입력 데이터]
|
||
- [ ] 현재 시즌 (봄/여름/가을/겨울, 명절)
|
||
- [ ] 이벤트 목표 (신규고객/재방문/매출증대/인지도향상)
|
||
- [ ] 이전 이벤트 학습 결과
|
||
|
||
[트렌드 데이터베이스 조회]
|
||
- [ ] 트렌드 DB API 호출
|
||
- [ ] 계절별 성공 이벤트 조회
|
||
- [ ] 지역 특성 반영
|
||
- [ ] 트렌드 예측 적용 (최근 인기 이벤트 유형)
|
||
|
||
[이벤트 아이디어 생성]
|
||
- [ ] 추천 이벤트 5가지 생성
|
||
- [ ] 각 아이디어별 상세 설명
|
||
- [ ] 예상 성과 제공 (참여율, ROI 예상)
|
||
- [ ] 적합한 시기 제안
|
||
|
||
[아이디어 제시]
|
||
- [ ] 아이디어 목록 표시
|
||
- [ ] 각 아이디어 선택 시 상세 설명 확장
|
||
- [ ] "이 아이디어로 기획 시작" 버튼
|
||
- [ ] 선택 시 이벤트 기획 화면(PLAN-010)으로 이동
|
||
|
||
[Policy]
|
||
- 업종별/지역별 데이터 축적 및 활용
|
||
|
||
- S/13
|
||
|
||
---
|
||
|
||
UFR-AIMPR-030: [성공패턴학습] AI시스템으로서 | 나는, 추천 정확도를 높이기 위해 | 이벤트 결과 데이터를 학습하여 성공 패턴을 축적하고 싶다.
|
||
- 시나리오: AI 학습 데이터 자동 업데이트
|
||
이벤트 종료 및 분석 완료 후 | 시스템이 자동으로 학습 데이터를 저장하면 | AI 모델이 성공 패턴을 학습하여 다음 추천 정확도가 향상된다.
|
||
|
||
[학습 데이터 수집]
|
||
- [ ] 이벤트 결과 데이터 (참여율, ROI, 채널 효율성 등)
|
||
- [ ] 성공 패턴 (목표 달성 항목)
|
||
- [ ] 실패 패턴 (목표 미달 항목)
|
||
- [ ] 업종, 지역, 시즌 정보
|
||
|
||
[학습 데이터 저장]
|
||
- [ ] 학습 데이터 DB에 저장
|
||
- [ ] 성공 사례 태깅
|
||
- [ ] 실패 사례 태깅
|
||
- [ ] 메타데이터 저장 (업종, 지역, 시즌)
|
||
|
||
[AI 모델 학습]
|
||
- [ ] 이벤트 결과 누적 데이터 기반 학습
|
||
- [ ] 성공률 향상 학습
|
||
- [ ] 경품 추천 알고리즘 개선
|
||
- [ ] 참여 방법 설계 알고리즘 개선
|
||
- [ ] 채널 효율성 예측 모델 업데이트
|
||
- [ ] 개인화 추천 강화
|
||
|
||
[학습 결과 적용]
|
||
- [ ] 다음 이벤트 기획 시 학습된 패턴 적용
|
||
- [ ] 추천 정확도 모니터링
|
||
- [ ] 지속적인 성능 개선
|
||
|
||
[Policy]
|
||
- 지속적 성능 개선 알고리즘
|
||
- 개인화 추천 강화
|
||
|
||
- M/34
|
||
|
||
---
|
||
|
||
8. 비기능 요구사항
|
||
1) 성능
|
||
NFR-PERF-010: [AI기획속도] 시스템으로서 | 나는, 사용자 대기 시간을 최소화하기 위해 | AI 이벤트 기획을 10초 이내에 완료하고 싶다.
|
||
- 시나리오: AI 이벤트 기획 성능 보장
|
||
소상공인이 이벤트 기획 시작 후 | 모든 AI 분석 및 추천 단계를 거쳐 | 10초 이내에 완성된 기획안이 제시된다.
|
||
|
||
[성능 요구사항]
|
||
- [ ] 업종 트렌드 분석: 3초 이내
|
||
- [ ] 경품 추천: 3초 이내
|
||
- [ ] 참여 방법 설계: 2초 이내
|
||
- [ ] 홍보 문구 생성: 2초 이내
|
||
- [ ] 총 처리 시간: 10초 이내
|
||
|
||
[최적화 방안]
|
||
- [ ] AI API 병렬 호출
|
||
- [ ] 응답 캐싱 (동일 조건 재사용)
|
||
- [ ] 프롬프트 최적화
|
||
- [ ] 네트워크 지연 최소화
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
NFR-PERF-020: [콘텐츠생성속도] 시스템으로서 | 나는, 효율적인 서비스를 제공하기 위해 | 이미지와 영상 콘텐츠 생성을 현실적인 시간 내에 완료하고 싶다.
|
||
- 시나리오: 콘텐츠 생성 성능 보장
|
||
소상공인이 콘텐츠 생성 시작 후 | 이미지 3종, 영상 1개, SNS 콘텐츠, QR 포스터까지 | 현실적인 처리 시간 내에 모든 콘텐츠가 생성된다.
|
||
|
||
[성능 요구사항]
|
||
- [ ] 이미지 생성 (3종): 2-3분 이내 (AI 이미지 생성 특성 고려)
|
||
- [ ] 영상 제작 (15초): 3-5분 이내 (AI 영상 제작 특성 고려)
|
||
- [ ] SNS 콘텐츠 생성: 30초 이내
|
||
- [ ] QR 포스터 생성: 20초 이내
|
||
- [ ] 총 처리 시간: 5-8분 이내 (단계별 병렬 처리 시)
|
||
|
||
[최적화 방안]
|
||
- [ ] 이미지와 영상 병렬 생성
|
||
- [ ] GPU 가속 활용
|
||
- [ ] 콘텐츠 캐싱
|
||
- [ ] 진행 상황 실시간 표시 (사용자 경험 개선)
|
||
- [ ] 백그라운드 처리로 다른 작업 가능
|
||
|
||
[Policy]
|
||
- AI 생성 모델의 현실적인 처리 시간 반영
|
||
- 품질과 속도의 균형 유지
|
||
- 사용자에게 명확한 진행 상황 피드백 제공
|
||
|
||
- M/34
|
||
|
||
---
|
||
|
||
NFR-PERF-030: [배포속도] 시스템으로서 | 나는, 신속한 배포를 위해 | 다중 채널 배포를 1분 이내에 완료하고 싶다.
|
||
- 시나리오: 배포 성능 보장
|
||
소상공인이 배포 시작 버튼 클릭 후 | 모든 선택 채널에 콘텐츠가 배포되기까지 | 1분 이내에 완료된다.
|
||
|
||
[성능 요구사항]
|
||
- [ ] 우리동네TV: 15초
|
||
- [ ] 링고비즈: 10초
|
||
- [ ] 지니TV: 20초
|
||
- [ ] SNS (3개 플랫폼 병렬): 20초
|
||
- [ ] 총 처리 시간: 1분 이내
|
||
|
||
[최적화 방안]
|
||
- [ ] 채널별 병렬 배포
|
||
- [ ] 비동기 API 호출
|
||
- [ ] 배포 상태 실시간 업데이트
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
NFR-PERF-040: [실시간데이터수집] 시스템으로서 | 나는, 정확한 효과 측정을 위해 | 5분 간격으로 실시간 데이터를 수집하고 업데이트하고 싶다.
|
||
- 시나리오: 실시간 데이터 수집 주기 보장
|
||
이벤트 배포 후 | 효과 측정 대시보드가 | 5분 간격으로 자동 업데이트된다.
|
||
|
||
[데이터 수집 주기]
|
||
- [ ] 5분마다 자동 데이터 수집
|
||
- [ ] 스케줄러 기반 자동 실행
|
||
- [ ] 실패 시 재시도 (3회)
|
||
|
||
[데이터 소스]
|
||
- [ ] KT 채널 API (우리동네TV, 지니TV)
|
||
- [ ] POS 시스템
|
||
- [ ] SNS 플랫폼 API (Instagram, Naver Blog, Kakao Channel)
|
||
- [ ] 참여자 DB
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
2) 보안
|
||
NFR-SECU-010: [개인정보보호] 시스템으로서 | 나는, 고객 신뢰를 확보하기 위해 | 개인정보 보호 규정을 준수하고 암호화를 적용하고 싶다.
|
||
- 시나리오: 개인정보 보호 및 암호화
|
||
고객의 개인정보(이름, 전화번호)가 수집될 때 | 암호화되어 저장되고 | GDPR, 개인정보보호법을 준수한다.
|
||
|
||
[개인정보 암호화]
|
||
- [ ] 전화번호 암호화 (AES-256)
|
||
- [ ] 이름 암호화 (필요 시)
|
||
- [ ] 전송 시 HTTPS/TLS 적용
|
||
|
||
[개인정보 보호 규정 준수]
|
||
- [ ] 개인정보 수집 동의 획득 (필수)
|
||
- [ ] 수집 목적 명시
|
||
- [ ] 보유 기간 설정 (이벤트 종료 후 3개월)
|
||
- [ ] 파기 절차 자동화
|
||
|
||
[접근 제어]
|
||
- [ ] 역할 기반 접근 제어 (RBAC)
|
||
- [ ] 소상공인은 자신의 이벤트 데이터만 접근
|
||
- [ ] 관리자 감사 로그 기록
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
3) 안정성
|
||
NFR-RELI-010: [배포실패자동재시도] 시스템으로서 | 나는, 서비스 안정성을 위해 | 배포 실패 시 자동으로 3회까지 재시도하고 싶다.
|
||
- 시나리오: 배포 실패 시 자동 재시도
|
||
채널 배포 중 API 오류로 실패 시 | 시스템이 자동으로 재시도하여 | 최대 3회까지 재시도 후 성공 또는 최종 실패 처리한다.
|
||
|
||
[재시도 로직]
|
||
- [ ] 배포 실패 감지
|
||
- [ ] 1차 재시도 (5초 후)
|
||
- [ ] 2차 재시도 (10초 후)
|
||
- [ ] 3차 재시도 (20초 후)
|
||
- [ ] 3회 실패 시 최종 실패 처리
|
||
|
||
[실패 알림]
|
||
- [ ] 소상공인에게 실패 알림
|
||
- [ ] 실패 사유 제공
|
||
- [ ] 수동 재시도 옵션 제공
|
||
|
||
- M/8
|
||
|
||
---
|
||
|
||
4) 확장성
|
||
NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소상공인을 지원하기 위해 | 최소 100개의 이벤트를 동시에 처리할 수 있어야 한다.
|
||
- 시나리오: 동시 다발적 이벤트 처리
|
||
100명의 소상공인이 동시에 이벤트를 기획/배포하는 상황에서 | 시스템이 정상적으로 모든 요청을 처리한다.
|
||
|
||
[확장성 요구사항]
|
||
- [ ] 동시 이벤트 처리: 최소 100개
|
||
- [ ] AI API 동시 호출: 최소 50개
|
||
- [ ] 배포 API 동시 호출: 최소 100개
|
||
|
||
[확장 전략]
|
||
- [ ] 마이크로서비스 수평 확장 (Auto Scaling)
|
||
- [ ] 로드 밸런싱
|
||
- [ ] 메시지 큐 활용 (비동기 처리)
|
||
- [ ] 캐싱 전략 (Redis)
|
||
|
||
- S/21
|
||
```
|
||
|
||
---
|
||
|
||
## 기술 검토 결과
|
||
|
||
**[마이크로서비스별 검토]**
|
||
|
||
1. **User 서비스**
|
||
모든 유저스토리 ✅ 실현 가능
|
||
|
||
- 표준적인 인증/인가 패턴
|
||
- KT 인증 시스템, 사업자번호 검증 시스템 연동
|
||
- JWT 토큰, 세션 관리
|
||
|
||
2. **Event Planning 서비스**
|
||
대부분 ✅ 실현 가능, AI 응답 시간 주의 필요
|
||
|
||
**주요 검토 사항:**
|
||
|
||
- UFR-PLAN-020~050: ⚠️ AI API 응답 시간 관리 필요
|
||
- Claude API, GPT-4 API 병렬 호출
|
||
- 응답 캐싱으로 속도 개선
|
||
- 10초 목표 달성을 위한 프롬프트 최적화
|
||
|
||
3. **Content Generation 서비스**
|
||
⚠️ 높은 기술적 복잡도
|
||
|
||
**주요 검토 사항:**
|
||
|
||
- UFR-CONT-010: Stable Diffusion API 연동 (이미지 생성 90초)
|
||
- UFR-CONT-020: AI 영상 제작 엔진 연동 (영상 제작 90초)
|
||
- 3분 목표 달성을 위한 병렬 처리 필수
|
||
|
||
4. **Distribution 서비스**
|
||
대부분 ✅ 실현 가능
|
||
|
||
**주요 검토 사항:**
|
||
|
||
- 다중 외부 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분 간격)
|
||
- 데이터 파이프라인 구축
|
||
- 실패 시 재시도 로직
|