kt-event-marketing/design/userstory.md

1438 lines
55 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 기반 콘텐츠 자동 생성 (이미지 + **영상**)
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: [홈화면] 소상공인으로서 | 나는, 로그인 후 | 내 이벤트 현황을 한눈에 보고 새 이벤트를 시작하고 싶다.
- 시나리오: 홈 화면 조회
로그인 완료 후 | 홈 화면에 접속하면 | 진행 중인 이벤트 요약, 최근 성과, 새 이벤트 생성 버튼이 표시된다.
[홈 화면 구성 요소]
- [ ] 환영 메시지 (사용자명 표시: "안녕하세요!")
- [ ] 빠른 액션 버튼 (상단)
- "✨ 새 이벤트" (UFR-PLAN-010으로 이동)
- "📋 이벤트 목록" (UFR-USER-030으로 이동)
- "📊 실시간 현황" (UFR-ANAL-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-USER-030
- [ ] 실시간 대시보드 → UFR-ANAL-010
- [ ] 마이페이지 → UFR-USER-040
- M/13
---
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 저장 → 홈 화면(UFR-USER-002)으로 이동
- [ ] 검증 실패 시 구체적인 오류 알림 제공
- 형식 오류: "사업자번호 형식이 올바르지 않습니다. (XXX-XX-XXXXX 형식으로 입력해주세요)"
- 유효성 오류: "등록되지 않은 사업자번호입니다. 번호를 다시 확인해주세요."
- 휴폐업: "휴업 또는 폐업된 사업자입니다. 현재 운영 중인 사업자번호를 입력해주세요."
- 정보 불일치: "입력하신 매장명과 사업자 정보가 일치하지 않습니다."
- [ ] 오류 발생 시 해당 필드 강조 표시 및 포커스 이동
- [ ] 재입력 가능하도록 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: [이벤트목적선택] 소상공인으로서 | 나는, 효과적인 이벤트를 기획하기 위해 | 이벤트 목적을 선택하고 싶다.
- 시나리오: 이벤트 기획 시작 및 목적 설정
이벤트 기획 화면에 접근한 상황에서 | 6가지 목적 중 하나를 선택하면 | 선택한 목적이 저장되고 AI 트렌드 분석이 시작된다.
[목적 선택 옵션] ⭐ 6가지로 확장
- [ ] 👥 신규 고객 유치: 신규 고객 확보에 초점 (AI 추천)
- 예: 첫 방문 할인, 친구 추천 이벤트
- [ ] 🔄 재방문 유도: 기존 고객의 재방문 촉진
- 예: 스탬프 적립, 재방문 쿠폰
- [ ] 💰 매출 증대: 객단가 향상 및 매출 증대
- 예: 세트 할인, 한정 특가 이벤트
- [ ] ⭐ 브랜드 인지도: 매장 홍보 및 SNS 화제
- 예: SNS 인증샷, 바이럴 이벤트
- [ ] 🎉 고객 참여 활성화: 커뮤니티 구축 및 소통
- 예: 리뷰 이벤트, 고객 투표
- [ ] 🎊 시즌/기념일 마케팅: 계절/기념일 이벤트
- 예: 크리스마스, 창립기념일 이벤트
[UI/UX 요구사항]
- [ ] AI TIP 정보 제공 ⭐ 신규 추가
- "선택하신 목적에 맞는 최신 트렌드와 성공 사례를 분석하여 맞춤형 이벤트를 제안해드립니다"
- [ ] 각 목적별 설명 및 예시 제공
- [ ] 단일 선택만 가능 (라디오 버튼)
- [ ] 선택 후 "AI 트렌드 분석 시작" 버튼 활성화
- M/5
---
UFR-PLAN-020: [AI업종트렌드분석] 소상공인으로서 | 나는, 성공률 높은 이벤트를 기획하기 위해 | AI가 내 업종과 지역의 트렌드를 분석해주기를 원한다.
- 시나리오: AI 기반 업종 및 지역 트렌드 분석
이벤트 목적 선택 후 | 시스템이 내 매장의 업종, 지역, 현재 시즌을 분석하면 | 업종별 성공 사례와 트렌드 리포트가 생성된다.
[분석 입력 데이터]
- [ ] 매장 업종 정보 (USER 서비스에서 조회)
- [ ] 매장 위치 정보 (지역, 상권)
- [ ] 현재 시즌 정보 (봄/여름/가을/겨울, 명절)
- [ ] 선택한 이벤트 목적
[트렌드 분석 처리]
- [ ] 트렌드 분석 시스템 API 호출
- [ ] 과거 동일 업종 성공 사례 데이터 분석
- [ ] 지역별 트렌드 반영 (유동인구, 연령대 등)
- [ ] 시즌 특성 고려 (계절 이벤트, 명절 등)
[분석 결과 제공]
- [ ] 트렌드 리포트 생성 (주요 트렌드 3-5가지)
- [ ] Top 트렌드 강조 표시
- [ ] 예상 참여율 표시
- [ ] 추천 이벤트 방향 제시
- [ ] 분석 결과를 다음 단계(경품 추천)에 전달
- M/13
---
UFR-PLAN-030: [AI이벤트상품추천] 소상공인으로서 | 나는, 예산 내에서 최적의 이벤트상품을 선정하기 위해 | AI가 타겟 고객층에 맞는 이벤트상품을 추천해주기를 원한다.
- 시나리오: AI 기반 최적 이벤트상품 추천 및 이벤트 진행 방법 선택
트렌드 분석 완료 후 | 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법을 입력하면 | Claude API가 예산 대비 매력도가 높은 이벤트상품 Top 5를 추천한다.
[입력 요구사항]
- [ ] 예산 입력 (최소 10,000원 ~ 최대 5,000,000원)
- [ ] 타겟 고객층 자동 설정 (업종 기반)
- [ ] 이벤트 목적 연동 (PLAN-010에서 선택한 목적)
- [ ] 이벤트 진행 방법 선택 (필수)
- [옵션1] 추첨형: 기간 내 참여한 고객 중 이벤트가 끝나면 상품(쿠폰) 수량 안에서 당첨자 랜덤 추첨 진행
- [옵션2] 선착순형: 선착순 쿠폰 소진 방식
[AI 이벤트상품 추천 처리]
- [ ] Claude API 연동
- [ ] 프롬프트: 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법, 업종 정보 포함
- [ ] 예산 대비 매력도 최대화 알고리즘 적용
- [ ] 타겟 고객 선호도 분석
- [ ] 이벤트 진행 방법에 따른 이벤트상품 수량 제안
[추천 결과 제공]
- [ ] 이벤트상품 목록 Top 5 생성
- [ ] 각 이벤트상품별 예상 효과 표시 (참여율 예상)
- [ ] 예산 범위 내 이벤트상품 필터링
- [ ] 소상공인이 1개 선택 또는 수정 가능
[이벤트상품 수정 기능]
- [ ] 추천 이벤트상품 내용 수정 가능 (이벤트상품명, 수량, 가격)
- [ ] 직접 이벤트상품 입력 옵션 제공
- [ ] 수정된 내용 기반 예상 효과 재계산
- [ ] 예산 초과 시 경고 메시지 표시
- 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개 선택
- 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: [이벤트기획안승인] 소상공인으로서 | 나는, 이벤트를 실행하기 위해 | 완성된 기획안을 검토하고 승인하고 싶다.
- 시나리오: 완성된 이벤트 기획안 검토 및 승인
모든 기획 단계 완료 후 | 완성된 기획안(목적, 이벤트상품, 참여방법, 홍보문구)을 확인하면 | 승인 버튼 클릭으로 기획안이 저장되고 콘텐츠 생성 단계로 이동한다.
[기획안 완성 안내] ⭐ 신규 추가
- [ ] "완벽한 이벤트 기획안이 완성되었어요!" 제목
- [ ] "AI가 분석한 데이터를 바탕으로 최적의 이벤트를 설계했습니다" 설명
[AI 예상 성과] ⭐ 신규 추가
- [ ] 예상 참여자 수 (예: 1,200명)
- [ ] 참여율 (예: 75%)
- [ ] ROI (예: 3.5배)
[이벤트 미리보기] ⭐ 신규 추가
- [ ] 이벤트 제목
- [ ] 홍보 문구 미리보기
- [ ] 해시태그 표시
[기획안 요약 제공]
- [ ] 🎯 이벤트 목적 (수정 버튼)
- 선택한 목적 표시
- [ ] 📊 트렌드 분석 (수정 버튼)
- Top 트렌드 표시
- 예상 참여율 표시
- [ ] 🎁 이벤트 경품 (수정 버튼)
- 선택한 경품 및 유형 표시
- [ ] 📱 참여 방법 (수정 버튼)
- 선택한 방법 및 유형 표시
- [ ] ✍️ 홍보 문구 (수정 버튼)
- 헤드라인 표시
- CTA 표시
[승인 처리]
- [ ] "📝 임시저장" 버튼
- [ ] "✅ 승인하고 다음으로" 버튼
- [ ] 승인 시 이벤트 기획안 DB 저장
- [ ] 이벤트 ID 생성
- [ ] 콘텐츠 생성 단계(UFR-CONT-010)로 이동
[수정 기능]
- [ ] 각 섹션별 "수정" 버튼
- [ ] 수정 버튼 클릭 시 해당 단계로 이동
- M/8
---
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개 선택하여 다음 단계 진행
- 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
---
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 파일)
- 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종
- [ ] 영상 (15초) ⭐ 신규 추가
- [ ] SNS 콘텐츠 (플랫폼별)
- [ ] QR 포스터 (생성한 경우)
[승인 처리]
- [ ] 승인 버튼 클릭 시 콘텐츠 DB 저장
- [ ] 콘텐츠 ID 생성
- [ ] 배포 단계(UFR-DIST-010)로 이동
[성능 기준]
- [ ] 전체 콘텐츠 생성 5-8분 이내 완료 (영상 포함) ⭐ 업데이트
- M/3
---
4. Distribution 서비스
1) 다중 채널 배포
UFR-DIST-010: [다중채널배포설정] 소상공인으로서 | 나는, 이벤트를 효과적으로 홍보하기 위해 | 여러 채널에 한 번에 배포할 수 있기를 원한다.
- 시나리오: 배포 채널 선택 및 설정
배포 화면에서 | 원하는 배포 채널을 선택하고 배포 일시를 설정하면 | 선택한 채널 목록이 저장되고 각 채널별 배포가 시작된다.
[배포 진행 단계 표시] ⭐ 신규 추가
- [ ] "배포 1/3: 채널 선택" 진행 상태 표시
- [ ] "선택된 채널: N개 채널" 요약 정보 표시
[배포 채널 선택 - KT 채널] ⭐ 섹션 구분 명확화
- [ ] "KT 채널" 섹션 제목
- [ ] 우리동네TV (추천 뱃지) (선택)
- "지역 주변 노출" 설명
- "설정 " 버튼
- [ ] 링고비즈 연결음 (선택)
- "매장 전화 연결음" 설명
- "설정 " 버튼
- [ ] 지니TV 광고 (선택)
- "TV 광고 송출" 설명
- "설정 " 버튼
[배포 채널 선택 - SNS 채널] ⭐ 섹션 구분 명확화
- [ ] "SNS 채널" 섹션 제목
- [ ] Instagram (필수 뱃지) (선택)
- "인스타그램 게시물" 설명
- 계정 연동 상태 표시 ("✓ 계정 연동됨" 또는 "계정 연동 필요")
- 연동되지 않은 경우 "계정 연동하기" 버튼
- [ ] Naver Blog (선택)
- "네이버 블로그" 설명
- 계정 연동 상태 표시
- 연동되지 않은 경우 "계정 연동하기" 버튼
- [ ] Kakao Channel (선택)
- "카카오톡 채널" 설명
- 계정 연동 상태 표시
- 연동되지 않은 경우 "계정 연동하기" 버튼
- [ ] 최소 1개 이상 채널 선택 필수
[배포 시간 설정] ⭐ 섹션 추가
- [ ] "배포 시간" 섹션 제목
- [ ] 즉시 배포 (선택)
- "지금 바로 선택한 채널에 배포" 설명
- [ ] 예약 배포 (선택)
- "원하는 날짜와 시간에 배포" 설명
- 날짜 및 시간 선택 UI
[배포 시작]
- [ ] "임시저장" 버튼
- [ ] "다음 (배포 시작)" 버튼
- [ ] 선택한 채널 목록 저장
- [ ] 배포 요청 이벤트 발생
- [ ] 각 채널별 병렬 배포 시작
- 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 발급
- [ ] 예상 노출 수 제공
- [ ] 송출 스케줄 확인 가능
- M/21
---
UFR-DIST-030: [링고비즈연결음업데이트] 소상공인으로서 | 나는, 전화하는 고객에게도 홍보하기 위해 | 매장 전화번호의 연결음을 이벤트 내용으로 자동 업데이트하고 싶다.
- 시나리오: 링고비즈 연결음 업데이트
배포 채널로 링고비즈 선택 시 | 매장 전화번호와 연결음 파일을 전달하면 | 연결음이 자동으로 업데이트된다.
[연결음 생성]
- [ ] 홍보 문구 기반 연결음 스크립트 자동 생성
- [ ] 네이버 클로바(Clova) TTS 엔진을 이용한 음성 파일 생성
- [ ] 음성 톤 선택 가능 (친근한 톤, 공식적인 톤, 활기찬 톤 등)
- [ ] 또는 사전 녹음 파일 업로드 (MP3, WAV 형식)
[네이버 클로바 TTS 연동]
- [ ] 네이버 클로바 TTS API 연동
- [ ] 음성 합성 옵션 설정 (음색, 속도, 톤)
- [ ] 고품질 음성 파일 생성 (16kHz 이상)
- [ ] 생성된 음성 파일 미리듣기 기능
[링고비즈 API 연동]
- [ ] 링고비즈 API 호출
- [ ] 매장 전화번호 전달 (USER 서비스에서 조회)
- [ ] 연결음 파일 업로드
- [ ] 업데이트 요청
[업데이트 결과]
- [ ] 업데이트 완료 시각 확인
- [ ] 연결음 미리듣기 가능
- [ ] 롤백 기능 (이전 연결음으로 복구)
- S/13
---
UFR-DIST-040: [지니TV광고배포] 소상공인으로서 | 나는, 가정의 TV를 통해 홍보하기 위해 | 지니TV에 예산과 타겟 지역을 설정하여 광고를 배포하고 싶다.
- 시나리오: 지니TV 광고 예약 및 송출
배포 채널로 지니TV 선택 시 | 타겟 지역, 노출 시간대, 예산을 설정하면 | 지니TV에 광고가 예약되고 노출된다.
[광고 설정]
- [ ] 타겟 지역 선택 (매장 주변 반경 1km, 3km, 5km)
- [ ] 노출 시간대 선택 (아침/점심/저녁/심야)
- [ ] 예산 입력 (최소 100,000원)
[지니TV API 연동]
- [ ] 지니TV 광고 플랫폼 API 호출
- [ ] 타겟 지역 설정
- [ ] 노출 시간대 및 빈도 설정
- [ ] 예산 기반 노출량 자동 계산
- [ ] 영상 파일 업로드 (15초 영상)
[광고 예약 결과]
- [ ] 광고 ID 발급
- [ ] 노출 스케줄 확인
- [ ] 예상 노출 횟수 및 도달 가구 수 제공
- 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 기준)
- [ ] 중복 참여자 제외
- [ ] 매장 방문 고객 가산점 적용
- [ ] 난수 기반 무작위 추첨 알고리즘
- [ ] 당첨 인원만큼 추첨 (기획안에 정의된 인원)
[선착순형 이벤트 처리]
- [ ] 쿠폰 소진 시 자동으로 이벤트 종료
- [ ] 참여 순서대로 당첨자 자동 확정
- [ ] 추첨 과정 없음
[추첨 결과] (추첨형 이벤트)
- [ ] 당첨자 목록 생성
- [ ] 추첨 과정 로그 기록 (감사 추적용)
- [ ] 당첨자 정보 DB 저장
- [ ] 소상공인에게 당첨자 명단 제공
- 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분 간격으로 업데이트되는 실시간 데이터를 확인할 수 있다.
[기간 필터] ⭐ 신규 추가
- [ ] "오늘" 버튼
- [ ] "최근 7일" 버튼
- [ ] "최근 30일" 버튼
- [ ] "전체" 버튼
[대시보드 주요 지표]
- [ ] 👥 총 참여자 수 (실시간)
- 전일 대비 증감율 표시 (예: +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분 간격 자동 업데이트
- [ ] KT 채널 데이터 수집 API 연동 (우리동네TV, 지니TV)
- [ ] POS 시스템 연동 (매장 방문, 매출 데이터)
- [ ] SNS 플랫폼 데이터 수집 (Instagram, Naver Blog, Kakao Channel)
[대시보드 UI]
- [ ] 그래프 시각화 (시간대별 추이)
- [ ] 숫자 대형 표시 (핵심 지표)
- [ ] 새로고침 버튼
- [ ] 자동 새로고침 옵션
- 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 퍼센트 대형 표시
- [ ] 손익 분기 달성 여부
- [ ] 비용/수익 상세 내역
- [ ] 그래프 시각화
- M/13
---
UFR-ANAL-040: [분석리포트생성] 소상공인으로서 | 나는, 이벤트 결과를 정리하기 위해 | 종합 분석 리포트를 PDF로 다운로드하고 싶다.
- 시나리오: 종합 분석 리포트 생성 및 다운로드
이벤트 종료 후 | 리포트 생성 버튼을 클릭하면 | 전체 성과를 요약한 PDF 리포트가 생성되어 다운로드된다.
[리포트 포함 내용]
- [ ] 이벤트 개요 (목적, 기간, 이벤트상품)
- [ ] 참여 통계 (총 참여자 수, 채널별 참여 분포)
- [ ] 노출 통계 (채널별 노출 수, 도달률)
- [ ] 매출 분석 (매출 증가율, 객단가 변화)
- [ ] 광고 수익률 분석 (투자 대비 수익)
- [ ] 채널별 성과 비교
- [ ] 업종 평균 대비 벤치마킹
- [ ] 그래프 및 차트 시각화
[리포트 생성]
- [ ] 데이터 수집 및 집계
- [ ] 그래프 이미지 생성
- [ ] PDF 레이아웃 생성
- [ ] PDF 파일 생성
[다운로드]
- [ ] PDF 다운로드 링크 제공
- [ ] 파일명: "이벤트명_분석리포트_YYYYMMDD.pdf"
- [ ] 이메일 발송 옵션
- S/8
---
7. AI Learning 서비스
1) AI 학습 및 개선
UFR-AIMPR-010: [AI개선안생성] 소상공인으로서 | 나는, 더 나은 이벤트를 운영하기 위해 | AI가 분석 결과를 바탕으로 구체적인 개선안을 제안해주기를 원한다.
- 시나리오: AI 기반 이벤트 개선안 생성
이벤트 종료 후 | 시스템이 결과 데이터를 자동 분석하면 | AI가 성공 요인과 실패 요인을 파악하여 3가지 개선안을 제시한다.
[결과 데이터 분석]
- [ ] 빅데이터 분석 시스템 API 호출
- [ ] 참여율 vs 목표 비교
- [ ] 광고 수익률 vs 업종 평균 비교
- [ ] 채널별 효율성 분석
- [ ] 시간대별 참여 패턴 분석
- [ ] 이벤트상품 매력도 평가
[성공/실패 요인 도출]
- [ ] 성공 요인 식별 (목표 달성 항목)
- [ ] 실패 요인 식별 (목표 미달 항목)
- [ ] 개선 포인트 도출
[AI 개선안 생성]
- [ ] AI 머신러닝 엔진 API 호출
- [ ] 성공 패턴 학습 및 재활용
- [ ] 실패 패턴 회피 로직 적용
- [ ] 최적화 알고리즘 적용
- [ ] 3가지 개선안 생성
- 개선안 1: 이벤트상품 변경 (더 매력적인 이벤트상품)
- 개선안 2: 참여 방법 단순화 (참여율 향상)
- 개선안 3: 배포 채널 조정 (효율적 채널 집중)
[개선안 제시]
- [ ] 각 개선안별 우선순위 표시
- [ ] 예상 효과 제공 (참여율 증가 예상치 등)
- [ ] 소상공인이 개선안 선택 또는 피드백 제공
- M/21
---
UFR-AIMPR-020: [다음이벤트아이디어제안] 소상공인으로서 | 나는, 계절과 트렌드에 맞는 이벤트를 기획하기 위해 | AI가 시즌별 성공 이벤트 아이디어를 제안해주기를 원한다.
- 시나리오: AI 기반 다음 이벤트 아이디어 제안
이벤트 종료 및 개선안 검토 후 | 다음 이벤트 아이디어 요청 버튼을 클릭하면 | AI가 시즌, 학습 결과, 트렌드를 반영한 이벤트 아이디어 5가지를 제안한다.
[입력 데이터]
- [ ] 현재 시즌 (봄/여름/가을/겨울, 명절)
- [ ] 이벤트 목표 (신규고객/재방문/매출증대/인지도향상)
- [ ] 이전 이벤트 학습 결과
[트렌드 데이터베이스 조회]
- [ ] 트렌드 DB API 호출
- [ ] 계절별 성공 이벤트 조회
- [ ] 지역 특성 반영
- [ ] 트렌드 예측 적용 (최근 인기 이벤트 유형)
[이벤트 아이디어 생성]
- [ ] 추천 이벤트 5가지 생성
- [ ] 각 아이디어별 상세 설명
- [ ] 예상 성과 제공 (참여율, ROI 예상)
- [ ] 적합한 시기 제안
[아이디어 제시]
- [ ] 아이디어 목록 표시
- [ ] 각 아이디어 선택 시 상세 설명 확장
- [ ] "이 아이디어로 기획 시작" 버튼
- [ ] 선택 시 이벤트 기획 화면(PLAN-010)으로 이동
- S/13
---
UFR-AIMPR-030: [성공패턴학습] AI시스템으로서 | 나는, 추천 정확도를 높이기 위해 | 이벤트 결과 데이터를 학습하여 성공 패턴을 축적하고 싶다.
- 시나리오: AI 학습 데이터 자동 업데이트
이벤트 종료 및 분석 완료 후 | 시스템이 자동으로 학습 데이터를 저장하면 | AI 모델이 성공 패턴을 학습하여 다음 추천 정확도가 향상된다.
[학습 데이터 수집]
- [ ] 이벤트 결과 데이터 (참여율, ROI, 채널 효율성 등)
- [ ] 성공 패턴 (목표 달성 항목)
- [ ] 실패 패턴 (목표 미달 항목)
- [ ] 업종, 지역, 시즌 정보
[학습 데이터 저장]
- [ ] 학습 데이터 DB에 저장
- [ ] 성공 사례 태깅
- [ ] 실패 사례 태깅
- [ ] 메타데이터 저장 (업종, 지역, 시즌)
[AI 모델 학습]
- [ ] 이벤트 결과 누적 데이터 기반 학습
- [ ] 성공률 향상 학습
- [ ] 이벤트상품 추천 알고리즘 개선
- [ ] 참여 방법 설계 알고리즘 개선
- [ ] 채널 효율성 예측 모델 업데이트
- [ ] 개인화 추천 강화
[학습 결과 적용]
- [ ] 다음 이벤트 기획 시 학습된 패턴 적용
- [ ] 추천 정확도 모니터링
- [ ] 지속적인 성능 개선
- 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
```
---
## 📈 프로토타입 반영 통계
| 구분 | 기존 | 추가/수정 | 합계 |
|------|------|-----------|------|
| 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개** |
---
## 🔧 기술 검토 업데이트
### **신규 추가 항목**
**UFR-CONT-020: AI영상제작**
- ⚠️ 높은 기술적 복잡도
- AI 영상 제작 엔진 연동 필요
- 예상 처리 시간: 3-5분
- GPU 가속 활용 권장
- 진행 상황 실시간 표시 필수
**UFR-USER-030: 이벤트목록**
- ✅ 실현 가능
- 표준적인 CRUD 패턴
- 필터링 및 페이지네이션 구현
**UFR-USER-040: 마이페이지**
- ✅ 실현 가능
- 사용자 정보 관리 표준 패턴
### **주요 기술 스택 업데이트**
**AI/ML 추가:**
- AI 영상 제작 엔진 (15초 영상 자동 생성)
- 예상 소요 시간: 3-5분
- GPU 가속 필수
**성능 요구사항 업데이트:**
- 콘텐츠 생성 전체 시간: 5-8분 이내 (영상 포함)
- 이미지와 영상 병렬 생성 필수
---
## ✅ 다음 단계
1. **UI/UX 설계 업데이트**: 프로토타입 기준으로 설계서 재작성
2. **API 설계 업데이트**: 영상 제작 API 명세 추가
3. **백엔드 설계 업데이트**: 영상 제작 서비스 추가
4. **프론트엔드 설계 업데이트**: 하단 네비게이션 구조 반영