diff --git a/design/uiux/uiux.md b/design/uiux/uiux.md index d55e252..e79963e 100644 --- a/design/uiux/uiux.md +++ b/design/uiux/uiux.md @@ -47,37 +47,42 @@ | 화면번호 | 화면명 | 관련 유저스토리 | 비즈니스 중요도 | 비고 | |---------|--------|----------------|----------------|------| | **User Service** | -| 01 | 회원가입 | UFR-USER-010 | Must (M/8) | KT 인증 선택 | -| 02 | 매장정보등록 | UFR-USER-020 | Must (M/13) | 사업자번호 검증 | +| 01 | 로그인 | UFR-USER-001 | Must (M/5) | JWT 인증 | +| 02 | 홈화면 | UFR-USER-002 | Must (M/8) | 대시보드 요약 | +| 03 | 회원가입 | UFR-USER-010 | Must (M/5) | 이메일/비밀번호 | +| 04 | 매장정보등록 | UFR-USER-020 | Must (M/13) | 사업자번호 검증 | | **Event Planning Service** | -| 03 | 이벤트목적선택 | UFR-PLAN-010 | Must (M/3) | 기획 시작점 | -| 04 | AI트렌드분석결과 | UFR-PLAN-020 | Must (M/13) | AI 분석 결과 | -| 05 | AI경품추천 | UFR-PLAN-030 | Must (M/21) | 경품 수정 가능 | -| 06 | AI참여방법설계 | UFR-PLAN-040 | Must (M/21) | 3가지 옵션 | -| 07 | AI홍보문구생성 | UFR-PLAN-050 | Must (M/13) | 5개 버전 | -| 08 | 이벤트기획안승인 | UFR-PLAN-060 | Must (M/5) | 최종 확인 | +| 05 | 이벤트목적선택 | UFR-PLAN-010 | Must (M/3) | 기획 시작점 | +| 06 | AI트렌드분석결과 | UFR-PLAN-020 | Must (M/13) | AI 분석 결과 | +| 07 | AI이벤트상품추천 | UFR-PLAN-030 | Must (M/21) | 이벤트상품 수정 가능, 진행방법 선택 | +| 08 | AI참여방법설계 | UFR-PLAN-040 | Must (M/21) | 3가지 옵션 | +| 09 | AI홍보문구생성 | UFR-PLAN-050 | Must (M/13) | 5개 버전 | +| 10 | 이벤트기획안승인 | UFR-PLAN-060 | Must (M/5) | 최종 확인 | | **Content Generation Service** | -| 09 | AI이미지생성 | UFR-CONT-010 | Must (M/34) | 3종 이미지 | -| 10 | AI영상제작 | UFR-CONT-020 | Must (M/34) | 15초 영상, 우리동네TV 16:9 | -| 11 | SNS콘텐츠생성 | UFR-CONT-030 | Must (M/21) | Instagram, Blog, Kakao | -| 12 | QR포스터생성 | UFR-CONT-040 | Must (M/8) | A4/A3 PDF | -| 13 | 콘텐츠편집 | UFR-CONT-050 | Should (S/13) | 간단한 수정 | -| 14 | 콘텐츠최종승인 | UFR-CONT-060 | Must (M/3) | 최종 확인 | +| 11 | AI이미지생성 | UFR-CONT-010 | Must (M/34) | 3종 이미지 | +| 12 | SNS콘텐츠생성 | UFR-CONT-030 | Must (M/21) | Instagram(선택), Blog, Kakao | +| 13 | QR포스터생성선택 | UFR-CONT-040 | Must (M/8) | 생성 여부 선택 | +| 14 | QR포스터상세설정 | UFR-CONT-040 | Must (M/8) | A4/A3 PDF | +| 15 | 콘텐츠편집 | UFR-CONT-050 | Should (S/13) | 간단한 수정 | +| 16 | 콘텐츠최종승인 | UFR-CONT-060 | Must (M/3) | 최종 확인 | | **Distribution Service** | -| 15 | 배포채널선택 | UFR-DIST-010 | Must (M/13) | 다중 채널 | -| 16 | 배포진행상태 | UFR-DIST-020~050 | Must (M/47) | 실시간 상태 | -| 17 | 오프라인자료다운로드 | UFR-DIST-060 | Should (S/5) | QR/PDF | +| 17 | 배포채널선택 | UFR-DIST-010 | Must (M/13) | 다중 채널, 최소 1개 | +| 18 | 배포진행상태 | UFR-DIST-020~050 | Must (M/47) | 실시간 상태 | +| 19 | 오프라인자료다운로드 | UFR-DIST-060 | Should (S/5) | QR/PDF | | **Participation Service** | -| 18 | 이벤트참여 | UFR-PART-010 | Must (M/8) | 고객용 | -| 19 | 참여완료 | UFR-PART-010 | Must (M/8) | 응모번호 발급 | +| 20 | 이벤트참여 | UFR-PART-010 | Must (M/8) | 고객용 | +| 21 | 참여완료 | UFR-PART-010 | Must (M/8) | 응모번호 발급 | | **Analytics & Management Service** | -| 20 | 당첨자명단관리 | UFR-PART-050 | Must (M/5) | 경품 지급 관리 | -| 21 | 실시간대시보드 | UFR-ANAL-010 | Must (M/21) | 5분 갱신 | -| 22 | 채널별성과분석 | UFR-ANAL-020 | Must (M/13) | 비교 분석 | -| 23 | ROI분석 | UFR-ANAL-030 | Must (M/13) | 투자 대비 효과 | -| 24 | 분석리포트 | UFR-ANAL-040 | Should (S/8) | PDF 다운로드 | +| 22 | 당첨자명단관리 | UFR-PART-050 | Must (M/5) | 이벤트상품 지급 관리 | +| 23 | 실시간대시보드 | UFR-ANAL-010 | Must (M/21) | 5분 갱신 | +| 24 | 채널별성과분석 | UFR-ANAL-020 | Must (M/13) | 비교 분석 | +| 25 | 광고수익률분석 | UFR-ANAL-030 | Must (M/13) | 투자 대비 효과 | +| 26 | 분석리포트 | UFR-ANAL-040 | Should (S/8) | PDF 다운로드 | -**총 24개 화면** (Must: 21개, Should: 3개) +**총 26개 화면** (Must: 23개, Should: 3개) +- 추가: 로그인, 홈화면, QR포스터생성선택 +- 삭제: AI영상제작 +- 변경: AI경품추천→AI이벤트상품추천, ROI분석→광고수익률분석 ## 3. 화면 간 사용자 플로우 @@ -86,64 +91,70 @@ ``` [시작] ↓ -[01-회원가입] → [02-매장정보등록] +[01-로그인] ←─ 기존 회원 ↓ -[21-실시간대시보드] (홈) +[02-홈화면] (대시보드) + ↓ +┌──────────────────────────┐ +│ 신규 회원 가입 (최초 1회) │ +├──────────────────────────┤ +[03-회원가입] → [04-매장정보등록] +└──────────────────────────┘ ↓ ┌─────────────────────┐ │ 이벤트 생성 플로우 │ ├─────────────────────┤ -[03-이벤트목적선택] +[05-이벤트목적선택] ↓ -[04-AI트렌드분석결과] +[06-AI트렌드분석결과] ↓ -[05-AI경품추천] ←→ (수정 가능) +[07-AI이벤트상품추천] ←→ (수정 가능, 진행방법 선택) ↓ -[06-AI참여방법설계] +[08-AI참여방법설계] ↓ -[07-AI홍보문구생성] ←→ (편집 가능) +[09-AI홍보문구생성] ←→ (편집 가능) ↓ -[08-이벤트기획안승인] +[10-이벤트기획안승인] └─────────────────────┘ ↓ ┌─────────────────────┐ │ 콘텐츠 생성 플로우 │ ├─────────────────────┤ -[09-AI이미지생성] +[11-AI이미지생성] ↓ -[10-AI영상제작] +[12-SNS콘텐츠생성] ↓ -[11-SNS콘텐츠생성] +[13-QR포스터생성선택] ─→ [생성 안 함] → [15-콘텐츠편집] + ↓ [QR 포스터 생성] +[14-QR포스터상세설정] ↓ -[12-QR포스터생성] +[15-콘텐츠편집] (선택) ↓ -[13-콘텐츠편집] (선택) - ↓ -[14-콘텐츠최종승인] +[16-콘텐츠최종승인] └─────────────────────┘ ↓ ┌─────────────────────┐ │ 배포 플로우 │ ├─────────────────────┤ -[15-배포채널선택] +[17-배포채널선택] (최소 1개) ↓ -[16-배포진행상태] +[18-배포진행상태] ↓ -[17-오프라인자료다운로드] (선택) +[19-오프라인자료다운로드] (선택) └─────────────────────┘ ↓ ┌─────────────────────┐ │ 모니터링 & 관리 │ ├─────────────────────┤ -[21-실시간대시보드] +[23-실시간대시보드] ↓ -[22-채널별성과분석] +[24-채널별성과분석] ↓ -[23-ROI분석] +[25-광고수익률분석] ↓ -[20-당첨자명단관리] +[22-당첨자명단관리] ↓ -[24-분석리포트] (선택) +[26-분석리포트] (선택) └─────────────────────┘ ``` @@ -181,17 +192,157 @@ --- -#### 01-회원가입 +#### 01-로그인 + +**개요** +- **목적**: 기존 회원의 서비스 접근 인증 +- **관련 유저스토리**: UFR-USER-001 +- **비즈니스 중요도**: Must (M/5) + +**주요 기능** +1. 이메일/비밀번호 로그인 +2. 자동 로그인 옵션 +3. 비밀번호 찾기 +4. 회원가입 링크 + +**UI 구성요소** + +**모바일 (320px~767px)** +``` +┌─────────────────────────┐ +│ │ +│ KT 이벤트 마케팅 │ +│ 로고 🎯 │ +│ │ +│ 소상공인 이벤트 자동 생성│ +│ │ +│ ┌──────────────────┐ │ +│ │ 이메일 │ │ +│ │ [example@xxx.com]│ │ +│ └──────────────────┘ │ +│ │ +│ ┌──────────────────┐ │ +│ │ 비밀번호 │ │ +│ │ [••••••••] 👁 │ │ +│ └──────────────────┘ │ +│ │ +│ ☐ 자동 로그인 │ +│ │ +│ [비밀번호 찾기] │ +│ │ +├─────────────────────────┤ +│ [ 로그인 ] │ +│ │ +│ 계정이 없으신가요? │ +│ [회원가입] │ +└─────────────────────────┘ +``` + +**인터랙션** +- 입력 필드 포커스 시 테두리 강조 +- 비밀번호 보기/숨기기 토글 +- 로그인 실패 시 에러 메시지 표시 + - "이메일 또는 비밀번호가 일치하지 않습니다" + - "존재하지 않는 계정입니다" +- 로그인 성공 시 홈화면(02)으로 이동 + +**반응형 처리** +- 태블릿(768px~): 입력 필드 최대 너비 400px 중앙 정렬 +- 데스크톱(1024px~): 좌측에 서비스 소개 영상/이미지, 우측에 로그인 폼 + +**접근성** +- 모든 입력 필드에 명확한 label +- 에러 메시지는 aria-live="polite"로 전달 +- Enter 키로 로그인 가능 + +--- + +#### 02-홈화면 + +**개요** +- **목적**: 로그인 후 이벤트 현황 확인 및 빠른 액션 제공 +- **관련 유저스토리**: UFR-USER-002 +- **비즈니스 중요도**: Must (M/8) + +**주요 기능** +1. 대시보드 요약 (진행 중인 이벤트, 참여자, 광고수익률) +2. 진행 중인 이벤트 목록 +3. 새 이벤트 생성 버튼 +4. 빠른 네비게이션 + +**UI 구성요소** + +**모바일 (320px~767px)** +``` +┌─────────────────────────┐ +│ ☰ 메뉴 KT 이벤트 🔔 │ +├─────────────────────────┤ +│ │ +│ 안녕하세요, │ +│ [김사장님] 매장 👋 │ +│ │ +│ ┌─────────────────────┐│ +│ │ 📊 이번 달 요약 ││ +│ │ ││ +│ │ 진행중 이벤트: 2개 ││ +│ │ 총 참여자: 145명 ││ +│ │ 광고수익률: +35% ││ +│ └─────────────────────┘│ +│ │ +│ 진행 중인 이벤트 │ +│ ┌─────────────────────┐│ +│ │ 🎁 신년 특별 이벤트 ││ +│ │ 참여: 78명 ││ +│ │ 남은기간: D-5 ││ +│ │ [상세보기] ││ +│ └─────────────────────┘│ +│ ┌─────────────────────┐│ +│ │ 🍕 재방문 쿠폰 ││ +│ │ 참여: 67명 ││ +│ │ 남은기간: D-12 ││ +│ │ [상세보기] ││ +│ └─────────────────────┘│ +│ │ +│ [모든 이벤트 보기 >] │ +│ │ +├─────────────────────────┤ +│ [ ➕ 새 이벤트 생성 ] │ +│ │ +│ ┌──────┬──────┬───────┐│ +│ │ 홈 │ 분석 │ 관리 ││ +│ └──────┴──────┴───────┘│ +└─────────────────────────┘ +``` + +**인터랙션** +- 대시보드 카드 스와이프로 더 많은 정보 확인 +- 이벤트 카드 클릭 시 상세 대시보드(23번 화면)로 이동 +- "새 이벤트 생성" 버튼 클릭 시 이벤트 기획 시작(05번 화면) +- 하단 탭 네비게이션으로 주요 섹션 이동 + +**반응형 처리** +- 태블릿(768px~): 이벤트 카드 2열 그리드 +- 데스크톱(1024px~): 좌측 사이드바 네비게이션, 우측에 대시보드 3열 레이아웃 + +**접근성** +- 모든 카드에 명확한 제목과 설명 +- 버튼은 최소 44x44px 터치 영역 +- 화면 로드 시 환영 메시지 읽어주기 + +--- + +#### 03-회원가입 **개요** - **목적**: 신규 소상공인의 간편한 회원가입 처리 - **관련 유저스토리**: UFR-USER-010 -- **비즈니스 중요도**: Must (M/8) +- **비즈니스 중요도**: Must (M/5) **주요 기능** 1. 기본 정보 입력 (이름, 전화번호, 이메일) -2. KT 본인 인증 (선택) - 추가 혜택 제공 +2. 비밀번호 설정 3. 개인정보 수집 동의 +4. 중복 가입 방지 **UI 구성요소** @@ -205,38 +356,60 @@ │ 환영합니다 🎉 │ │ │ │ ┌──────────────────┐ │ -│ │ 이름 │ │ -│ │ [입력 필드] │ │ +│ │ 이름 * │ │ +│ │ [2자 이상 입력] │ │ │ └──────────────────┘ │ │ │ │ ┌──────────────────┐ │ -│ │ 전화번호 │ │ +│ │ 전화번호 * │ │ │ │ [010-XXXX-XXXX] │ │ │ └──────────────────┘ │ │ │ │ ┌──────────────────┐ │ -│ │ 이메일 │ │ +│ │ 이메일 * │ │ │ │ [example@xx.com] │ │ │ └──────────────────┘ │ │ │ │ ┌──────────────────┐ │ -│ │ ☐ KT 본인 인증 │ │ -│ │ (인증 시 혜택 +) │ │ +│ │ 비밀번호 * │ │ +│ │ [••••••••] 👁 │ │ +│ │ 최소 8자, 영문/숫자│ │ +│ │ /특수문자 조합 │ │ +│ └──────────────────┘ │ +│ │ +│ ┌──────────────────┐ │ +│ │ 비밀번호 확인 * │ │ +│ │ [••••••••] 👁 │ │ │ └──────────────────┘ │ │ │ │ ☑ 개인정보 수집 동의 │ │ (필수) [자세히보기] │ │ │ ├─────────────────────────┤ -│ [ 다음 단계 ] │ +│ [ 매장 정보 등록 ] │ └─────────────────────────┘ ``` **인터랙션** - 입력 필드 포커스 시 라벨 상단 이동 (Material Design) -- 실시간 형식 검증 (전화번호, 이메일) -- KT 인증 선택 시 바텀 시트로 인증 프로세스 표시 -- 모든 필드 입력 완료 시 "다음 단계" 버튼 활성화 +- 실시간 형식 검증 + - 이름: 2자 이상 + - 전화번호: 010-XXXX-XXXX 형식 + - 이메일: example@domain.com 형식 + - 비밀번호: 최소 8자, 영문/숫자/특수문자 조합 + - 비밀번호 확인: 비밀번호와 일치 여부 +- 중복 가입 체크 (이메일, 전화번호 기준) +- 비밀번호 보기/숨기기 토글 +- 모든 필드 입력 및 동의 완료 시 버튼 활성화 +- 회원가입 완료 시 매장정보등록(04번 화면)으로 이동 + +**검증 에러 메시지** +- 이름: "이름을 2자 이상 입력해주세요" +- 전화번호: "올바른 전화번호 형식이 아닙니다 (010-XXXX-XXXX)" +- 이메일: "올바른 이메일 형식이 아닙니다" +- 비밀번호: "최소 8자 이상, 영문/숫자/특수문자를 조합해주세요" +- 비밀번호 확인: "비밀번호가 일치하지 않습니다" +- 중복: "이미 가입된 이메일입니다" / "이미 가입된 전화번호입니다" **반응형 처리** - 태블릿(768px~): 입력 필드 최대 너비 500px 중앙 정렬 @@ -244,12 +417,13 @@ **접근성** - 모든 입력 필드에 적절한 label과 placeholder +- 필수 필드는 asterisk(*)로 표시 - 에러 메시지는 aria-live로 스크린 리더에 즉시 전달 - Tab 키 순서 논리적으로 설정 --- -#### 02-매장정보등록 +#### 04-매장정보등록 **개요** - **목적**: 맞춤형 이벤트 생성을 위한 매장 정보 수집 및 검증 @@ -257,11 +431,11 @@ - **비즈니스 중요도**: Must (M/13) **주요 기능** -1. 매장 기본 정보 입력 (매장명, 업종, 주소, 영업시간) +1. 매장 기본 정보 입력 (매장명, 업종, 주소) 2. 사업자번호 검증 (국세청 API 연동) 3. 메뉴/상품 정보 입력 (선택) 4. 매장 이미지 업로드 (선택) -5. 무료 체험 쿠폰 자동 발급 +5. 검증 완료 후 대시보드로 이동 **UI 구성요소** @@ -276,29 +450,30 @@ │ 필수 정보 │ │ │ │ [매장명 입력] │ +│ (최대 50자) │ │ │ │ [업종 선택 ▼] │ │ 음식점/카페/소매업... │ │ │ │ [주소 검색 🔍] │ -│ (도로명 주소) │ +│ (도로명 주소 API 연동) │ │ │ -│ 영업시간 │ -│ 월: [09:00] ~ [21:00] │ -│ 화: [09:00] ~ [21:00] │ -│ ... (요일별 설정) │ -│ │ -│ [사업자번호] │ +│ [사업자번호 *] │ │ XXX-XX-XXXXX │ -│ [검증하기] ← AI 자동검증│ +│ [검증하기] ← 자동 검증 │ │ │ │ ───────────────────── │ │ 선택 정보 (이벤트 맞춤화)│ │ │ │ 메뉴/상품 (최대 10개) │ │ + [메뉴 추가] │ +│ ┌────────────────────┐ │ +│ │ • 치킨 세트 │ │ +│ │ 15,000원 │ │ +│ │ 바삭한 황금 치킨 │ │ +│ └────────────────────┘ │ │ │ -│ 매장 특징 │ +│ 매장 특징/강점 │ │ [텍스트 입력 영역] │ │ (최대 200자) │ │ │ @@ -314,23 +489,37 @@ 1. **주소 검색**: 바텀 시트로 주소 검색 UI 표시 (카카오 주소 API) 2. **사업자번호 검증**: - 입력 완료 시 자동 검증 시작 - - 로딩 인디케이터 표시 - - 검증 성공: ✅ "확인됨" 표시 - - 검증 실패: ❌ 명확한 오류 메시지 -3. **메뉴 추가**: 바텀 시트로 메뉴명, 가격, 설명 입력 + - 로딩 인디케이터 표시: "사업자번호 확인 중..." + - 검증 성공: ✅ "확인됨" 표시 (녹색 배지) + - 검증 실패: ❌ 구체적인 오류 메시지 표시 + - **형식 오류**: "사업자번호 형식이 올바르지 않습니다. (XXX-XX-XXXXX 형식으로 입력해주세요)" + - **유효성 오류**: "등록되지 않은 사업자번호입니다. 번호를 다시 확인해주세요." + - **휴폐업**: "휴업 또는 폐업된 사업자입니다. 현재 운영 중인 사업자번호를 입력해주세요." + - **정보 불일치**: "입력하신 매장명과 사업자 정보가 일치하지 않습니다." + - **API 연동 오류**: "사업자번호 확인 중 오류가 발생했습니다. 잠시 후 다시 시도해주세요." + - 오류 발생 시 입력 필드 빨간색 테두리 강조 및 포커스 이동 + - 재시도 버튼 제공 +3. **메뉴 추가**: 바텀 시트로 메뉴명(최대 30자), 가격, 설명(최대 100자) 입력 4. **이미지 업로드**: - 카메라 또는 갤러리 선택 - 업로드 진행률 표시 - - 미리보기 제공 + - 미리보기 제공 (최대 5MB) **반응형 처리** - 태블릿: 2단 레이아웃 (필수정보 | 선택정보) -- 데스크톱: 3단 레이아웃 + 우측에 진행 상황 및 혜택 안내 +- 데스크톱: 3단 레이아웃 + 우측에 진행 상황 및 안내 **검증 및 피드백** -- 매장명: 2자 이상 필수 -- 사업자번호: 형식 검증 → 국세청 API 검증 -- 검증 실패 시 재입력 유도, 이전 입력값 유지 +- 매장명: 최대 50자 필수 +- 업종: 카테고리 리스트 중 필수 선택 +- 주소: 도로명 주소 API 연동 필수 +- 사업자번호: 형식 검증 (XXX-XX-XXXXX) → 국세청 API 검증 + - 유효성 확인 + - 휴폐업 여부 확인 + - 매장명과 사업자 정보 일치 확인 +- 검증 실패 시 구체적인 오류 메시지와 함께 재입력 유도 +- 이전 입력값 유지하여 사용자 편의성 제공 +- 오류 로그 자동 기록 (감사 추적용) --- @@ -469,26 +658,27 @@ --- -#### 05-AI경품추천 +#### 07-AI이벤트상품추천 **개요** -- **목적**: 예산 대비 최적 경품 AI 추천 및 수정 +- **목적**: 예산 대비 최적 이벤트상품 AI 추천 및 진행 방법 선택 - **관련 유저스토리**: UFR-PLAN-030 - **비즈니스 중요도**: Must (M/21) **주요 기능** 1. 예산 입력 -2. AI가 Top 5 경품 추천 -3. 경품 선택 및 수정 가능 +2. 이벤트 진행 방법 선택 (추첨형 / 선착순형) +3. AI가 Top 5 이벤트상품 추천 +4. 이벤트상품 선택 및 수정 가능 **UI 구성요소** **모바일** ``` ┌─────────────────────────┐ -│ ← [뒤로] AI 경품 추천 │ +│ ← [뒤로] AI 이벤트상품 추천│ ├─────────────────────────┤ -│ 단계 3/6: 경품 선택 │ +│ 단계 3/6: 이벤트상품 선택 │ │ ━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ 예산 설정 │ @@ -498,7 +688,20 @@ │ │ 1만원 ━━●━━ 500만원││ │ └─────────────────────┘│ │ │ -│ 🤖 AI 추천 경품 (Top 5) │ +│ 이벤트 진행 방법 * │ +│ ┌─────────────────────┐│ +│ │ ○ 추첨형 ││ +│ │ 기간 내 참여 후 ││ +│ │ 종료 시 자동 추첨 ││ +│ └─────────────────────┘│ +│ ┌─────────────────────┐│ +│ │ ○ 선착순형 ││ +│ │ 선착순 쿠폰 소진 방식││ +│ │ (소진 시 자동 종료) ││ +│ └─────────────────────┘│ +│ │ +│ 🤖 AI 추천 이벤트상품 │ +│ (Top 5) │ │ │ │ ┌─────────────────────┐│ │ │ 1. 치킨세트 무료교환 ││ @@ -531,14 +734,23 @@ ``` **인터랙션** -1. **예산 슬라이더**: 실시간 경품 추천 업데이트 -2. **경품 수정**: 바텀 시트로 경품명, 수량, 가격 수정 -3. **직접 입력**: 새 경품 추가 폼 표시 -4. **선택 시**: 카드 하이라이트, 예상 효과 재계산 +1. **예산 슬라이더**: 실시간 이벤트상품 추천 업데이트 +2. **진행 방법 선택**: 라디오 버튼으로 추첨형/선착순형 선택 + - 추첨형: 이벤트 종료 시 자동 추첨 안내 툴팁 + - 선착순형: 쿠폰 소진 시 자동 종료 안내 툴팁 +3. **이벤트상품 수정**: 바텀 시트로 이벤트상품명, 수량, 가격 수정 +4. **직접 입력**: 새 이벤트상품 추가 폼 표시 +5. **선택 시**: 카드 하이라이트, 예상 효과 재계산 **검증** +- 진행 방법 미선택 시 경고: "이벤트 진행 방법을 선택해주세요" - 예산 초과 시 경고 메시지 -- 경품 수정 시 실시간 예상참여율 재계산 +- 이벤트상품 수정 시 실시간 예상참여율 재계산 +- 선착순형 선택 시 쿠폰 소진 시점 자동 종료 안내 + +**진행 방법별 차이점** +- **추첨형**: 기간 내 참여한 고객 중 이벤트 종료 시 상품 수량 내에서 당첨자 랜덤 추첨 +- **선착순형**: 선착순 쿠폰 소진 방식 (예: 50명 한정, 소진 시 자동 종료) --- @@ -742,7 +954,7 @@ │ │ ││ │ │ 참여율: 60% ││ │ │ 예상참여자: ~180명 ││ -│ │ ROI: 240% ││ +│ │ 광고수익률: 240% ││ │ └─────────────────────┘│ │ │ │ ⏱ 전체 소요시간: 8초 │ @@ -919,7 +1131,7 @@ --- -#### 11-SNS콘텐츠생성 +#### 12-SNS콘텐츠생성 **개요** - **목적**: Instagram, Naver Blog, Kakao Channel용 최적화 콘텐츠 생성 @@ -927,7 +1139,7 @@ - **비즈니스 중요도**: Must (M/21) **주요 기능** -1. SNS 플랫폼 선택 (Instagram 필수, 나머지 선택) +1. SNS 플랫폼 선택 (최소 1개 이상 선택 필수) 2. 플랫폼별 해상도 자동 조정 3. 해시태그 자동 삽입 4. 일괄 다운로드 @@ -942,10 +1154,11 @@ │ 콘텐츠 3/5: SNS │ │ ━━━━━━━━━━━━━━━━━━━━━ │ │ │ -│ 플랫폼 선택 │ +│ 플랫폼 선택 * │ +│ (최소 1개 이상 선택) │ │ │ │ ┌─────────────────────┐│ -│ │ ✅ Instagram ││ +│ │ ☐ Instagram ││ │ │ 1080x1080 (정사각형) ││ │ │ [미리보기] ││ │ └─────────────────────┘│ @@ -985,21 +1198,86 @@ ``` **인터랙션** -1. **플랫폼 선택**: 체크박스로 다중 선택 +1. **플랫폼 선택**: + - 체크박스로 다중 선택 가능 (Instagram, Naver Blog, Kakao Channel 모두 선택 가능) + - 최소 1개 이상 선택 필수 + - 미선택 시 "콘텐츠 생성하기" 버튼 비활성화 (회색 처리) 2. **미리보기**: 바텀 시트로 플랫폼별 미리보기 (실제 피드 모습) 3. **생성**: 선택한 플랫폼 수만큼 최적화 콘텐츠 생성 (30초 이내) 4. **다운로드**: ZIP 파일로 일괄 다운로드 +**검증 규칙** +- 플랫폼 미선택 시 경고: "최소 1개 이상의 SNS 플랫폼을 선택해주세요" +- 선택된 플랫폼 개수 표시: "선택됨: 2개 플랫폼" + **성능** - SNS 콘텐츠 생성: 30초 이내 - 미리보기 즉시 로딩 --- -#### 12-QR포스터생성 +#### 13-QR포스터생성선택 **개요** -- **목적**: QR 코드 포함 인쇄용 포스터 생성 +- **목적**: QR 포스터 생성 여부 선택 +- **관련 유저스토리**: UFR-CONT-040 +- **비즈니스 중요도**: Must (M/8) + +**주요 기능** +1. QR 포스터 생성 여부 선택 (예/아니오) +2. 선택에 따른 플로우 분기 + +**UI 구성요소** + +**모바일** +``` +┌─────────────────────────┐ +│ ← [뒤로] QR 포스터 │ +├─────────────────────────┤ +│ 콘텐츠 4/5: QR 포스터 │ +│ ━━━━━━━━━━━━━━━━━━━━━ │ +│ │ +│ QR 포스터를 생성하시겠습니까? │ +│ │ +│ ┌─────────────────────┐│ +│ │ 📄 ││ +│ │ QR 코드 포함 ││ +│ │ 인쇄용 포스터 ││ +│ │ ││ +│ │ • A4/A3 크기 선택 ││ +│ │ • PDF 다운로드 ││ +│ │ • 즉시 인쇄 가능 ││ +│ └─────────────────────┘│ +│ │ +│ ┌─────────────────────┐│ +│ │ [ 예, 생성합니다 ] ││ +│ └─────────────────────┘│ +│ │ +│ ┌─────────────────────┐│ +│ │ [ 아니오, 건너뜁니다 ] ││ +│ └─────────────────────┘│ +│ │ +├─────────────────────────┤ +│ "건너뜁니다" 선택 시: │ +│ [ 다음 (콘텐츠편집) ] │ +└─────────────────────────┘ +``` + +**인터랙션** +1. **예 선택**: Screen 14 (QR포스터상세설정) 화면으로 이동 +2. **아니오 선택**: QR 포스터 단계 건너뛰고 Screen 15 (콘텐츠편집)로 이동 +3. **뒤로 가기**: 이전 화면(SNS콘텐츠생성)으로 복귀 + +**검증 규칙** +- 선택 없이 다음 진행 불가 +- 기본 선택값 없음 (사용자 명시적 선택 필요) + +--- + +#### 14-QR포스터상세설정 + +**개요** +- **목적**: QR 코드 포함 인쇄용 포스터 상세 설정 및 생성 - **관련 유저스토리**: UFR-CONT-040 - **비즈니스 중요도**: Must (M/8) @@ -1013,7 +1291,7 @@ **모바일** ``` ┌─────────────────────────┐ -│ ← [뒤로] QR 포스터 생성 │ +│ ← [뒤로] QR 포스터 설정 │ ├─────────────────────────┤ │ 콘텐츠 4/5: QR 포스터 │ │ ━━━━━━━━━━━━━━━━━━━━━ │ @@ -1033,7 +1311,7 @@ │ │ └────────────────┘ ││ │ └─────────────────────┘│ │ │ -│ 포스터 크기 │ +│ 포스터 크기 * │ │ ○ A4 (210x297mm) │ │ ○ A3 (297x420mm) │ │ │ @@ -1058,18 +1336,23 @@ ``` **인터랙션** -1. **URL 복사**: 클립보드 복사 + 토스트 메시지 -2. **크기 선택**: 라디오 버튼, 미리보기 즉시 업데이트 -3. **생성**: 20초 이내 완료 +1. **URL 복사**: 클립보드 복사 + 토스트 메시지 "URL이 복사되었습니다" +2. **크기 선택**: 라디오 버튼, 선택 시 미리보기 즉시 업데이트 +3. **생성**: 20초 이내 완료, 진행률 표시 4. **인쇄**: 시스템 인쇄 다이얼로그 호출 +**검증 규칙** +- 포스터 크기 미선택 시 경고: "포스터 크기를 선택해주세요" +- 기본값: A4 선택 + **성능** - QR 포스터 생성: 20초 이내 - PDF 파일 크기 최적화 (<5MB) +- QR 코드 자동 생성: 즉시 --- -#### 13-콘텐츠편집 +#### 15-콘텐츠편집 **개요** - **목적**: 생성된 콘텐츠 간단 수정 @@ -1560,16 +1843,16 @@ --- -#### 20-당첨자명단관리 +#### 22-당첨자명단관리 **개요** -- **목적**: 당첨자 명단 조회 및 경품 지급 관리 +- **목적**: 당첨자 명단 조회 및 이벤트상품 지급 관리 - **관련 유저스토리**: UFR-PART-050 - **비즈니스 중요도**: Must (M/5) **주요 기능** 1. 이벤트별 당첨자 목록 -2. 경품 지급 상태 업데이트 +2. 이벤트상품 지급 상태 업데이트 3. 엑셀 다운로드 **UI 구성요소** @@ -1595,7 +1878,7 @@ │ │ 참여일: 2025-12-15 ││ │ │ 경로: QR코드 ││ │ │ ││ -│ │ ☐ 경품 지급 완료 ││ +│ │ ☐ 이벤트상품 지급 완료 ││ │ └─────────────────────┘│ │ │ │ ┌─────────────────────┐│ @@ -1605,7 +1888,7 @@ │ │ 참여일: 2025-12-16 ││ │ │ 경로: Instagram ││ │ │ ││ -│ │ ✅ 경품 지급 완료 ││ +│ │ ✅ 이벤트상품 지급 완료 ││ │ │ 지급일: 2025-12-20 ││ │ └─────────────────────┘│ │ │ @@ -1631,7 +1914,7 @@ --- -#### 21-실시간대시보드 +#### 23-실시간대시보드 **개요** - **목적**: 이벤트 성과 실시간 모니터링 @@ -1677,7 +1960,7 @@ │ └─────────────────────┘│ │ │ │ ┌─────────────────────┐│ -│ │ 예상 ROI ││ +│ │ 예상 광고수익률 ││ │ │ 245% 📈 ││ │ │ (투자 대비 수익) ││ │ └─────────────────────┘│ @@ -1713,7 +1996,7 @@ --- -#### 22-채널별성과분석 +#### 24-채널별성과분석 **개요** - **목적**: 채널별 노출 수, 참여율, 전환율 비교 @@ -1797,7 +2080,7 @@ --- -#### 23-ROI분석 +#### 25-광고수익률분석 **개요** - **목적**: 투자 대비 효과 자동 계산 @@ -1807,20 +2090,20 @@ **주요 기능** 1. 총 비용 자동 집계 2. 수익 데이터 수집 (POS 연동) -3. ROI 자동 계산 및 시각화 +3. 광고수익률 자동 계산 및 시각화 **UI 구성요소** **모바일** ``` ┌─────────────────────────┐ -│ ← [뒤로] ROI 분석 │ +│ ← [뒤로] 광고수익률 분석 │ ├─────────────────────────┤ │ │ │ 💰 투자 대비 효과 │ │ │ │ ┌─────────────────────┐│ -│ │ ROI ││ +│ │ 광고수익률 ││ │ │ ││ │ │ 245% ││ │ │ ││ @@ -1830,7 +2113,7 @@ │ │ │ 비용 내역 │ │ ┌─────────────────────┐│ -│ │ 경품 비용 ││ +│ │ 이벤트상품 비용 ││ │ │ 100,000원 ││ │ │ ││ │ │ 플랫폼 이용료 ││ @@ -1864,7 +2147,7 @@ │ │ │ ───────────────────── │ │ │ -│ ROI 추이 그래프 │ +│ 광고수익률 추이 그래프 │ │ ┌───────────────────┐ │ │ │ ╱╲ │ │ │ │ ╱ ╲ │ │ @@ -1877,15 +2160,15 @@ **인터랙션** - 비용/수익 항목 탭 시 상세 내역 -- 그래프 인터랙션으로 일별 ROI 확인 +- 그래프 인터랙션으로 일별 광고수익률 확인 **성능** - POS 데이터 5분 간격 동기화 -- ROI 실시간 재계산 +- 광고수익률 실시간 재계산 --- -#### 24-분석리포트 +#### 26-분석리포트 **개요** - **목적**: 종합 분석 리포트 PDF 생성 @@ -1925,7 +2208,7 @@ │ ✅ 참여 통계 │ │ ✅ 노출 통계 │ │ ✅ 매출 분석 │ -│ ✅ ROI 분석 │ +│ ✅ 광고수익률 분석 │ │ ✅ 채널별 성과 비교 │ │ ✅ 업종 평균 벤치마킹 │ │ ✅ 그래프 시각화 │ @@ -2040,7 +2323,7 @@ MY: 매장정보, 설정, 로그아웃 #### 우선순위 정의 **1순위 (모바일)**: - 핵심 액션 (이벤트 생성, 참여, 승인) -- 실시간 지표 (참여자 수, ROI) +- 실시간 지표 (참여자 수, 광고수익률) - 주요 알림 **2순위 (태블릿)**: @@ -2059,32 +2342,32 @@ MY: 매장정보, 설정, 로그아웃 **Mobile (320px)**: ``` -┌─────────┐ -│ 참여자 │ -│ 1,234명 │ -├─────────┤ -│ 노출수 │ -│ 15,678회│ -├─────────┤ -│ 매출증가│ -│ +42% │ -├─────────┤ -│ ROI │ -│ 245% │ -└─────────┘ +┌──────────┐ +│ 참여자 │ +│ 1,234명 │ +├──────────┤ +│ 노출수 │ +│ 15,678회 │ +├──────────┤ +│ 매출증가 │ +│ +42% │ +├──────────┤ +│광고수익률│ +│ 245% │ +└──────────┘ ``` **Tablet (768px)**: ``` -┌─────────┬─────────┐ -│ 참여자 │ 노출수 │ -│ 1,234명 │15,678회│ -├─────────┼─────────┤ -│ 매출증가│ ROI │ -│ +42% │ 245% │ -├─────────┴─────────┤ -│ 채널별 성과 차트 │ -└───────────────────┘ +┌──────────┬──────────┐ +│ 참여자 │ 노출수 │ +│ 1,234명 │15,678회 │ +├──────────┼──────────┤ +│ 매출증가 │광고수익률│ +│ +42% │ 245% │ +├──────────┴──────────┤ +│ 채널별 성과 차트 │ +└─────────────────────┘ ``` **Desktop (1024px+)**: @@ -2092,7 +2375,7 @@ MY: 매장정보, 설정, 로그아웃 ┌──────────────────────────────────┐ │ ┌────────┬────────┬────────────┐ │ │ │참여자 │노출수 │매출 +42% │ │ -│ │1,234명 │15,678회│ROI 245% │ │ +│ │1,234명 │15,678회│광고수익률 245%│ │ │ └────────┴────────┴────────────┘ │ │ │ │ ┌────────────────────────────┐ │ diff --git a/design/userstory.md b/design/userstory.md index 86af3ce..94dc4be 100644 --- a/design/userstory.md +++ b/design/userstory.md @@ -125,8 +125,15 @@ UFR-USER-020: [매장정보등록] 소상공인으로서 | 나는, 맞춤형 이 [처리 결과] - [ ] 검증 성공 시 매장 정보 DB 저장 - - [ ] 검증 실패 시 명확한 오류 메시지 제공 (유효하지 않은 번호, 휴폐업 등) + - [ ] 검증 실패 시 구체적인 오류 알림 제공 + - 형식 오류: "사업자번호 형식이 올바르지 않습니다. (XXX-XX-XXXXX 형식으로 입력해주세요)" + - 유효성 오류: "등록되지 않은 사업자번호입니다. 번호를 다시 확인해주세요." + - 휴폐업: "휴업 또는 폐업된 사업자입니다. 현재 운영 중인 사업자번호를 입력해주세요." + - 정보 불일치: "입력하신 매장명과 사업자 정보가 일치하지 않습니다." + - API 연동 오류: "사업자번호 확인 중 오류가 발생했습니다. 잠시 후 다시 시도해주세요." + - [ ] 오류 발생 시 해당 필드 강조 표시 및 포커스 이동 - [ ] 재입력 가능하도록 UI 유지 + - [ ] 오류 로그 기록 (감사 추적용) - M/13 @@ -178,9 +185,9 @@ UFR-PLAN-020: [AI업종트렌드분석] 소상공인으로서 | 나는, 성공 --- -UFR-PLAN-030: [AI경품추천] 소상공인으로서 | 나는, 예산 내에서 최적의 경품을 선정하기 위해 | AI가 타겟 고객층에 맞는 경품을 추천해주기를 원한다. -- 시나리오: AI 기반 최적 경품 추천 및 이벤트 진행 방법 선택 - 트렌드 분석 완료 후 | 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법을 입력하면 | Claude API가 예산 대비 매력도가 높은 경품 Top 5를 추천한다. +UFR-PLAN-030: [AI이벤트상품추천] 소상공인으로서 | 나는, 예산 내에서 최적의 이벤트상품을 선정하기 위해 | AI가 타겟 고객층에 맞는 이벤트상품을 추천해주기를 원한다. +- 시나리오: AI 기반 최적 이벤트상품 추천 및 이벤트 진행 방법 선택 + 트렌드 분석 완료 후 | 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법을 입력하면 | Claude API가 예산 대비 매력도가 높은 이벤트상품 Top 5를 추천한다. [입력 요구사항] - [ ] 예산 입력 (최소 10,000원 ~ 최대 5,000,000원) @@ -190,30 +197,30 @@ UFR-PLAN-030: [AI경품추천] 소상공인으로서 | 나는, 예산 내에서 - [옵션1] 추첨형: 기간 내 참여한 고객 중 이벤트가 끝나면 상품(쿠폰) 수량 안에서 당첨자 랜덤 추첨 진행 - [옵션2] 선착순형: 선착순 쿠폰 소진 방식 (e.g: 오픈 이벤트 50% 할인이벤트 50명 한정 진행 등, 소진 시 UFR-PART-050으로 바로 이벤트 종료) - [AI 경품 추천 처리] + [AI 이벤트상품 추천 처리] - [ ] Claude API 연동 - [ ] 프롬프트: 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법, 업종 정보 포함 - [ ] 예산 대비 매력도 최대화 알고리즘 적용 - [ ] 타겟 고객 선호도 분석 - - [ ] 이벤트 진행 방법에 따른 경품 수량 제안 + - [ ] 이벤트 진행 방법에 따른 이벤트상품 수량 제안 [추천 결과 제공] - - [ ] 경품 목록 Top 5 생성 - - [ ] 각 경품별 예상 효과 표시 (참여율 예상) - - [ ] 예산 범위 내 경품 필터링 + - [ ] 이벤트상품 목록 Top 5 생성 + - [ ] 각 이벤트상품별 예상 효과 표시 (참여율 예상) + - [ ] 예산 범위 내 이벤트상품 필터링 - [ ] 소상공인이 1개 선택 또는 수정 가능 - [경품 수정 기능] - - [ ] 추천 경품 내용 수정 가능 (경품명, 수량, 가격) - - [ ] 직접 경품 입력 옵션 제공 + [이벤트상품 수정 기능] + - [ ] 추천 이벤트상품 내용 수정 가능 (이벤트상품명, 수량, 가격) + - [ ] 직접 이벤트상품 입력 옵션 제공 - [ ] 수정된 내용 기반 예상 효과 재계산 - [ ] 예산 초과 시 경고 메시지 표시 - [ ] 선착순형 이벤트 선택 시 쿠폰 소진 시점 자동 종료 안내 [Policy] - - 예산 내 최적 경품 선정 + - 예산 내 최적 이벤트상품 선정 - 타겟 고객 선호도 우선 고려 - - 소상공인의 경품 수정 자유도 보장 + - 소상공인의 이벤트상품 수정 자유도 보장 - 이벤트 진행 방법에 따른 자동 프로세스 차별화 - M/21 @@ -222,12 +229,12 @@ UFR-PLAN-030: [AI경품추천] 소상공인으로서 | 나는, 예산 내에서 UFR-PLAN-040: [AI참여방법설계] 소상공인으로서 | 나는, 고객 참여를 높이기 위해 | AI가 간단하면서도 재방문을 유도하는 참여 방법을 설계해주기를 원한다. - 시나리오: AI 기반 참여 방법 설계 - 경품 선택 완료 후 | 이벤트 목적, 매장 특성, 선택 경품을 기반으로 Claude API가 분석하면 | 3가지 참여 방법 옵션이 제시된다. + 이벤트상품 선택 완료 후 | 이벤트 목적, 매장 특성, 선택 이벤트상품을 기반으로 Claude API가 분석하면 | 3가지 참여 방법 옵션이 제시된다. [설계 입력 데이터] - [ ] 이벤트 목적 (PLAN-010) - [ ] 매장 특성 (업종, 위치) - - [ ] 선택한 경품 정보 (PLAN-030) + - [ ] 선택한 이벤트상품 정보 (PLAN-030) [AI 참여 방법 설계] - [ ] Claude API 연동 @@ -253,11 +260,11 @@ UFR-PLAN-040: [AI참여방법설계] 소상공인으로서 | 나는, 고객 참 UFR-PLAN-050: [AI홍보문구생성] 소상공인으로서 | 나는, 매력적인 홍보를 위해 | AI가 이벤트 개요에 맞는 홍보 문구를 자동으로 생성해주기를 원한다. - 시나리오: AI 기반 홍보 문구 자동 생성 - 참여 방법 선택 완료 후 | 이벤트 개요, 경품 정보, 참여 방법을 GPT-4 AI에 전달하면 | 5개 버전의 홍보 문구와 SNS 해시태그가 생성된다. + 참여 방법 선택 완료 후 | 이벤트 개요, 이벤트상품 정보, 참여 방법을 GPT-4 AI에 전달하면 | 5개 버전의 홍보 문구와 SNS 해시태그가 생성된다. [생성 입력 데이터] - [ ] 이벤트 개요 (목적, 기간) - - [ ] 경품 정보 + - [ ] 이벤트상품 정보 - [ ] 참여 방법 - [ ] 매장 특성 @@ -280,15 +287,15 @@ UFR-PLAN-050: [AI홍보문구생성] 소상공인으로서 | 나는, 매력적 UFR-PLAN-060: [이벤트기획안승인] 소상공인으로서 | 나는, 이벤트를 실행하기 위해 | 완성된 기획안을 검토하고 승인하고 싶다. - 시나리오: 완성된 이벤트 기획안 검토 및 승인 - 모든 기획 단계 완료 후 | 완성된 기획안(목적, 경품, 참여방법, 홍보문구)을 확인하면 | 승인 버튼 클릭으로 기획안이 저장되고 콘텐츠 생성 단계로 이동한다. + 모든 기획 단계 완료 후 | 완성된 기획안(목적, 이벤트상품, 참여방법, 홍보문구)을 확인하면 | 승인 버튼 클릭으로 기획안이 저장되고 콘텐츠 생성 단계로 이동한다. [기획안 요약 제공] - [ ] 이벤트 목적 - - [ ] 선택한 경품 + - [ ] 선택한 이벤트상품 - [ ] 참여 방법 - [ ] 홍보 문구 - [ ] 예상 예산 - - [ ] 예상 효과 (참여율, ROI) + - [ ] 예상 효과 (참여율, 광고 수익률) [승인 처리] - [ ] 승인 버튼 클릭 시 이벤트 기획안 DB 저장 @@ -314,7 +321,7 @@ UFR-CONT-010: [AI이미지생성] 소상공인으로서 | 나는, 이벤트 홍 [입력 요구사항] - [ ] 이벤트 제목 (기획안에서 자동 연동) - - [ ] 경품 이미지 + - [ ] 이벤트상품 이미지 - [ ] 브랜드 컬러 (HEX 코드 입력 또는 색상 선택기) - [ ] 로고 이미지 업로드 (PNG, JPG, 최대 5MB) @@ -390,7 +397,7 @@ UFR-CONT-040: [QR포스터생성] 소상공인으로서 | 나는, 오프라인 - [ ] QR 코드 생성 API 연동 - [ ] 선택한 이미지를 배경으로 사용 - [ ] QR 코드 배치 (하단 중앙) - - [ ] 이벤트 정보 텍스트 삽입 (제목, 기간, 경품) + - [ ] 이벤트 정보 텍스트 삽입 (제목, 기간, 이벤트상품) - [ ] 인쇄 최적화 (300dpi 이상) [생성 결과] @@ -622,7 +629,7 @@ UFR-DIST-060: [오프라인자료다운로드] 소상공인으로서 | 나는, 5. Participation 서비스 1) 이벤트 참여 관리 -UFR-PART-010: [이벤트참여신청] 고객으로서 | 나는, 경품을 받기 위해 | 간편하게 이벤트에 참여하고 싶다. +UFR-PART-010: [이벤트참여신청] 고객으로서 | 나는, 이벤트상품을 받기 위해 | 간편하게 이벤트에 참여하고 싶다. - 시나리오: 고객의 이벤트 참여 신청 고객이 이벤트를 발견한 상황에서 | 이름, 전화번호, 참여 경로를 입력하고 참여 버튼을 클릭하면 | 참여 정보가 접수되고 응모번호가 발급된다. @@ -728,18 +735,18 @@ UFR-PART-030: [자동당첨자추첨] 소상공인으로서 | 나는, 수동 관 UFR-PART-040: [당첨알림발송] 고객으로서 | 나는, 당첨 여부를 빠르게 확인하기 위해 | SMS나 카카오 알림톡으로 당첨 알림을 받고 싶다. - 시나리오: 당첨자에게 당첨 알림 발송 - 당첨자 추첨 완료 후 | 시스템이 당첨자 목록과 경품 정보를 전달하면 | SMS 또는 카카오 알림톡이 자동 발송된다. + 당첨자 추첨 완료 후 | 시스템이 당첨자 목록과 이벤트상품 정보를 전달하면 | SMS 또는 카카오 알림톡이 자동 발송된다. [알림 발송 준비] - [ ] 당첨자 목록 조회 - - [ ] 경품 정보 조회 + - [ ] 이벤트상품 정보 조회 - [ ] 매장 정보 조회 (수령 장소 안내용) [SMS/알림톡 발송] - [ ] SMS/카카오 알림톡 시스템 API 연동 - [ ] 당첨 축하 메시지 생성 - - [ ] 경품 정보 포함 - - [ ] 경품 수령 방법 안내 + - [ ] 이벤트상품 정보 포함 + - [ ] 이벤트상품 수령 방법 안내 - [ ] 수령 기한 안내 (예: 발표일로부터 7일 이내) - [ ] 매장 연락처 포함 @@ -756,18 +763,18 @@ UFR-PART-040: [당첨알림발송] 고객으로서 | 나는, 당첨 여부를 --- -UFR-PART-050: [당첨자명단관리] 소상공인으로서 | 나는, 경품을 지급하기 위해 | 당첨자 명단을 확인하고 관리하고 싶다. +UFR-PART-050: [당첨자명단관리] 소상공인으로서 | 나는, 이벤트상품을 지급하기 위해 | 당첨자 명단을 확인하고 관리하고 싶다. - 시나리오: 당첨자 명단 조회 및 관리 - 당첨자 추첨 완료 후 | 소상공인이 당첨자 관리 화면에 접근하면 | 당첨자 명단과 경품 지급 상태를 확인하고 업데이트할 수 있다. + 당첨자 추첨 완료 후 | 소상공인이 당첨자 관리 화면에 접근하면 | 당첨자 명단과 이벤트상품 지급 상태를 확인하고 업데이트할 수 있다. [당첨자 명단 조회] - [ ] 이벤트별 당첨자 목록 표시 - [ ] 당첨자 정보: 이름, 전화번호, 응모번호, 참여일시 - - [ ] 경품 정보 표시 - - [ ] 경품 지급 상태 (미지급/지급완료) + - [ ] 이벤트상품 정보 표시 + - [ ] 이벤트상품 지급 상태 (미지급/지급완료) - [경품 지급 관리] - - [ ] 경품 지급 상태 업데이트 (체크박스) + [이벤트상품 지급 관리] + - [ ] 이벤트상품 지급 상태 업데이트 (체크박스) - [ ] 지급 일시 자동 기록 - [ ] 지급 완료 시 당첨자에게 확인 문자 발송 (옵션) @@ -847,7 +854,7 @@ UFR-ANAL-030: [광고수익률자동계산] 소상공인으로서 | 나는, 투 이벤트 진행 중 또는 종료 후 | 효과 측정 대시보드에서 | 투자 비용 대비 수익이 자동으로 계산되어 표시된다. [비용 데이터 수집] - - [ ] 경품 비용 (기획안에서 자동 조회) + - [ ] 이벤트상품 비용 (기획안에서 자동 조회) - [ ] 플랫폼 이용 비용 - 우리동네TV 광고비 - 지니TV 광고비 @@ -882,11 +889,11 @@ UFR-ANAL-040: [분석리포트생성] 소상공인으로서 | 나는, 이벤트 이벤트 종료 후 | 리포트 생성 버튼을 클릭하면 | 전체 성과를 요약한 PDF 리포트가 생성되어 다운로드된다. [리포트 포함 내용] - - [ ] 이벤트 개요 (목적, 기간, 경품) + - [ ] 이벤트 개요 (목적, 기간, 이벤트상품) - [ ] 참여 통계 (총 참여자 수, 채널별 참여 분포) - [ ] 노출 통계 (채널별 노출 수, 도달률) - [ ] 매출 분석 (매출 증가율, 객단가 변화) - - [ ] ROI 분석 (투자 대비 수익) + - [ ] 광고 수익률 분석 (투자 대비 수익) - [ ] 채널별 성과 비교 - [ ] 업종 평균 대비 벤치마킹 - [ ] 그래프 및 차트 시각화 @@ -918,10 +925,10 @@ UFR-AIMPR-010: [AI개선안생성] 소상공인으로서 | 나는, 더 나은 [결과 데이터 분석] - [ ] 빅데이터 분석 시스템 API 호출 - [ ] 참여율 vs 목표 비교 - - [ ] ROI vs 업종 평균 비교 + - [ ] 광고 수익률 vs 업종 평균 비교 - [ ] 채널별 효율성 분석 - [ ] 시간대별 참여 패턴 분석 - - [ ] 경품 매력도 평가 + - [ ] 이벤트상품 매력도 평가 [성공/실패 요인 도출] - [ ] 성공 요인 식별 (목표 달성 항목) @@ -934,7 +941,7 @@ UFR-AIMPR-010: [AI개선안생성] 소상공인으로서 | 나는, 더 나은 - [ ] 실패 패턴 회피 로직 적용 - [ ] 최적화 알고리즘 적용 - [ ] 3가지 개선안 생성 - - 개선안 1: 경품 변경 (더 매력적인 경품) + - 개선안 1: 이벤트상품 변경 (더 매력적인 이벤트상품) - 개선안 2: 참여 방법 단순화 (참여율 향상) - 개선안 3: 배포 채널 조정 (효율적 채널 집중) @@ -1004,7 +1011,7 @@ UFR-AIMPR-030: [성공패턴학습] AI시스템으로서 | 나는, 추천 정확 [AI 모델 학습] - [ ] 이벤트 결과 누적 데이터 기반 학습 - [ ] 성공률 향상 학습 - - [ ] 경품 추천 알고리즘 개선 + - [ ] 이벤트상품 추천 알고리즘 개선 - [ ] 참여 방법 설계 알고리즘 개선 - [ ] 채널 효율성 예측 모델 업데이트 - [ ] 개인화 추천 강화 @@ -1259,7 +1266,7 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소 **AI/ML:** -- Claude API (경품 추천, 참여 방법 설계) +- Claude API (이벤트상품 추천, 참여 방법 설계) - GPT-4 API (홍보 문구 생성) - Stable Diffusion (이미지 생성) - AI 영상 제작 엔진