mirror of
https://github.com/ktds-dg0501/kt-event-marketing.git
synced 2025-12-06 10:46:23 +00:00
edit userstory
This commit is contained in:
parent
2aa09d9475
commit
5cb6f302f4
@ -17,41 +17,99 @@
|
|||||||
```
|
```
|
||||||
1. User 서비스
|
1. User 서비스
|
||||||
1) 사용자 인증 및 관리
|
1) 사용자 인증 및 관리
|
||||||
UFR-USER-010: [회원가입] 소상공인으로서 | 나는, 이벤트 자동 생성 서비스를 사용하기 위해 | 간편하게 회원가입하고 싶다.
|
UFR-USER-001: [로그인] 소상공인으로서 | 나는, 서비스를 이용하기 위해 | 등록된 계정으로 로그인하고 싶다.
|
||||||
- 시나리오: 기본 정보 입력 및 KT 본인 인증 (선택)
|
- 시나리오: 로그인 인증
|
||||||
미가입 상태에서 | 이름, 전화번호, 이메일을 입력하고 회원가입을 하면 | 회원가입이 완료되고 매장 정보 등록 화면으로 이동한다.
|
앱 실행 또는 웹 접속 시 | 이메일과 비밀번호를 입력하고 로그인하면 | 인증이 완료되고 홈 화면으로 이동한다.
|
||||||
|
|
||||||
[입력 요구사항]
|
[입력 요구사항]
|
||||||
- [ ] 이름 2자 이상 입력 가능 (필수)
|
- [ ] 이메일 입력 (필수)
|
||||||
- [ ] 전화번호 형식 검증 (010-XXXX-XXXX) (필수)
|
- [ ] 비밀번호 입력 (필수)
|
||||||
- [ ] 이메일 형식 검증 (example@domain.com) (필수)
|
- [ ] 자동 로그인 체크박스 (선택)
|
||||||
- [ ] KT 본인 인증 (선택) - 인증 시 추가 혜택 제공
|
|
||||||
|
|
||||||
[인증 처리]
|
[인증 처리]
|
||||||
- [ ] KT 인증 시스템 연동 확인 (선택 사항)
|
- [ ] 이메일과 비밀번호 검증
|
||||||
- [ ] 본인 인증 요청 시 전화번호로 인증 문자 발송
|
- [ ] JWT 토큰 발급
|
||||||
- [ ] 인증 완료 시 인증 토큰 저장 및 인증 고객 플래그 설정
|
- [ ] 세션 생성
|
||||||
- [ ] KT 인증 고객에게 추가 서비스 혜택 제공
|
- [ ] 로그인 상태 유지 (자동 로그인 선택 시)
|
||||||
- [ ] 중복 가입 방지 (전화번호 기준)
|
|
||||||
|
|
||||||
[처리 결과]
|
[처리 결과]
|
||||||
- [ ] 성공: "회원가입이 완료되었습니다" 메시지 → 매장 정보 등록 화면
|
- [ ] 성공: 홈 화면(UFR-USER-002)으로 이동
|
||||||
- [ ] KT 인증 고객: 추가 혜택 안내 (무료 체험 횟수 증가 등)
|
- [ ] 실패: 오류 메시지 표시
|
||||||
- [ ] 실패: 구체적인 오류 메시지 표시
|
- "이메일 또는 비밀번호가 일치하지 않습니다"
|
||||||
|
- "존재하지 않는 계정입니다"
|
||||||
|
|
||||||
|
[추가 기능]
|
||||||
|
- [ ] 비밀번호 찾기 링크
|
||||||
|
- [ ] 회원가입 화면으로 이동 링크
|
||||||
|
|
||||||
|
- M/5
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
UFR-USER-002: [홈화면] 소상공인으로서 | 나는, 로그인 후 | 내 이벤트 현황을 한눈에 보고 새 이벤트를 시작하고 싶다.
|
||||||
|
- 시나리오: 홈 화면 조회
|
||||||
|
로그인 완료 후 | 홈 화면에 접속하면 | 진행 중인 이벤트 요약, 최근 성과, 새 이벤트 생성 버튼이 표시된다.
|
||||||
|
|
||||||
|
[홈 화면 구성 요소]
|
||||||
|
- [ ] 환영 메시지 (매장명 표시)
|
||||||
|
- [ ] 대시보드 요약
|
||||||
|
- 진행 중인 이벤트 수
|
||||||
|
- 총 참여자 수 (이번 달)
|
||||||
|
- 총 광고 수익률 (이번 달)
|
||||||
|
- [ ] 진행 중인 이벤트 목록 (최대 3개 표시)
|
||||||
|
- 이벤트명
|
||||||
|
- 남은 기간
|
||||||
|
- 현재 참여자 수
|
||||||
|
- "상세 보기" 버튼
|
||||||
|
- [ ] 빠른 액션 버튼
|
||||||
|
- "새 이벤트 생성" (PLAN-010으로 이동)
|
||||||
|
- "모든 이벤트 보기"
|
||||||
|
- "성과 분석 보기"
|
||||||
|
|
||||||
|
[처리]
|
||||||
|
- [ ] 사용자 정보 조회 (매장명)
|
||||||
|
- [ ] 진행 중인 이벤트 목록 조회
|
||||||
|
- [ ] 이벤트 통계 집계 (이번 달 기준)
|
||||||
|
|
||||||
|
[네비게이션]
|
||||||
|
- [ ] 새 이벤트 생성 버튼 → UFR-PLAN-010
|
||||||
|
- [ ] 이벤트 상세 보기 → 해당 이벤트 대시보드
|
||||||
|
- [ ] 성과 분석 보기 → UFR-ANAL-010
|
||||||
|
|
||||||
- M/8
|
- M/8
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
UFR-USER-010: [회원가입] 소상공인으로서 | 나는, 이벤트 자동 생성 서비스를 사용하기 위해 | 간편하게 회원가입하고 싶다.
|
||||||
|
- 시나리오: 기본 정보 입력
|
||||||
|
미가입 상태에서 | 이름, 전화번호, 이메일, 비밀번호를 입력하고 회원가입을 하면 | 회원가입이 완료되고 매장 정보 등록 화면으로 이동한다.
|
||||||
|
|
||||||
|
[입력 요구사항]
|
||||||
|
- [ ] 이름 2자 이상 입력 가능 (필수)
|
||||||
|
- [ ] 전화번호 형식 검증 (010-XXXX-XXXX) (필수)
|
||||||
|
- [ ] 이메일 형식 검증 (example@domain.com) (필수)
|
||||||
|
- [ ] 비밀번호 입력 (필수)
|
||||||
|
- 최소 8자 이상
|
||||||
|
- 영문, 숫자, 특수문자 조합
|
||||||
|
- [ ] 비밀번호 확인 (필수, 비밀번호와 일치 검증)
|
||||||
|
- [ ] 중복 가입 방지 (이메일과 전화번호 기준)
|
||||||
|
|
||||||
|
[처리 결과]
|
||||||
|
- [ ] 성공: "회원가입이 완료되었습니다" 메시지 → 매장 정보 등록 화면
|
||||||
|
- [ ] 실패: 구체적인 오류 메시지 표시
|
||||||
|
|
||||||
|
- M/5
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
UFR-USER-020: [매장정보등록] 소상공인으로서 | 나는, 맞춤형 이벤트를 생성하기 위해 | 내 매장 정보를 등록하고 싶다.
|
UFR-USER-020: [매장정보등록] 소상공인으로서 | 나는, 맞춤형 이벤트를 생성하기 위해 | 내 매장 정보를 등록하고 싶다.
|
||||||
- 시나리오: 매장 정보 입력 및 사업자번호 검증
|
- 시나리오: 매장 정보 입력 및 사업자번호 검증
|
||||||
회원가입 완료 후 | 매장명, 업종, 주소, 영업시간, 사업자번호, 메뉴 정보를 입력하면 | 사업자번호 검증 후 매장 정보가 저장되고 무료 체험 쿠폰이 발급된다.
|
회원가입 완료 후 | 매장명, 업종, 주소, 사업자번호, 메뉴 정보를 입력하면 | 사업자번호 검증 후 매장 정보가 저장되고 무료 체험 쿠폰이 발급된다.
|
||||||
|
|
||||||
[입력 요구사항]
|
[입력 요구사항]
|
||||||
- [ ] 매장명 입력 (최대 50자)
|
- [ ] 매장명 입력 (최대 50자)
|
||||||
- [ ] 업종 선택 (카테고리 리스트 제공: 음식점, 카페, 소매업 등)
|
- [ ] 업종 선택 (카테고리 리스트 제공: 음식점, 카페, 소매업 등)
|
||||||
- [ ] 주소 입력 (도로명 주소 API 연동)
|
- [ ] 주소 입력 (도로명 주소 API 연동)
|
||||||
- [ ] 영업시간 설정 (요일별 시작/종료 시간 입력)
|
|
||||||
- [ ] 메뉴/상품 정보 입력 (선택, 최대 10개)
|
- [ ] 메뉴/상품 정보 입력 (선택, 최대 10개)
|
||||||
- 메뉴명/상품명 (최대 30자)
|
- 메뉴명/상품명 (최대 30자)
|
||||||
- 가격 정보
|
- 가격 정보
|
||||||
@ -61,21 +119,15 @@ UFR-USER-020: [매장정보등록] 소상공인으로서 | 나는, 맞춤형 이
|
|||||||
|
|
||||||
[사업자번호 검증]
|
[사업자번호 검증]
|
||||||
- [ ] 사업자번호 형식 검증 (XXX-XX-XXXXX)
|
- [ ] 사업자번호 형식 검증 (XXX-XX-XXXXX)
|
||||||
- [ ] 국세청 사업자번호 검증 시스템 API 연동
|
|
||||||
- [ ] 사업자번호 유효성 확인
|
- [ ] 사업자번호 유효성 확인
|
||||||
- [ ] 휴폐업 여부 확인
|
- [ ] 휴폐업 여부 확인
|
||||||
- [ ] 매장명과 사업자 정보 일치 확인
|
- [ ] 매장명과 사업자 정보 일치 확인
|
||||||
|
|
||||||
[처리 결과]
|
[처리 결과]
|
||||||
- [ ] 검증 성공 시 매장 정보 DB 저장
|
- [ ] 검증 성공 시 매장 정보 DB 저장
|
||||||
- [ ] 첫 1회 무료 체험 쿠폰 자동 발급
|
|
||||||
- [ ] 검증 실패 시 명확한 오류 메시지 제공 (유효하지 않은 번호, 휴폐업 등)
|
- [ ] 검증 실패 시 명확한 오류 메시지 제공 (유효하지 않은 번호, 휴폐업 등)
|
||||||
- [ ] 재입력 가능하도록 UI 유지
|
- [ ] 재입력 가능하도록 UI 유지
|
||||||
|
|
||||||
[무료 체험 혜택]
|
|
||||||
- [ ] 첫 1회 이벤트 무료 쿠폰 발급
|
|
||||||
- [ ] 쿠폰 유효기간 설정 (발급일로부터 30일)
|
|
||||||
|
|
||||||
- M/13
|
- M/13
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -127,20 +179,23 @@ UFR-PLAN-020: [AI업종트렌드분석] 소상공인으로서 | 나는, 성공
|
|||||||
---
|
---
|
||||||
|
|
||||||
UFR-PLAN-030: [AI경품추천] 소상공인으로서 | 나는, 예산 내에서 최적의 경품을 선정하기 위해 | AI가 타겟 고객층에 맞는 경품을 추천해주기를 원한다.
|
UFR-PLAN-030: [AI경품추천] 소상공인으로서 | 나는, 예산 내에서 최적의 경품을 선정하기 위해 | AI가 타겟 고객층에 맞는 경품을 추천해주기를 원한다.
|
||||||
- 시나리오: AI 기반 최적 경품 추천 및 수정
|
- 시나리오: AI 기반 최적 경품 추천 및 이벤트 진행 방법 선택
|
||||||
트렌드 분석 완료 후 | 예산, 타겟 고객층, 이벤트 목적을 입력하면 | Claude API가 예산 대비 매력도가 높은 경품 Top 5를 추천한다.
|
트렌드 분석 완료 후 | 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법을 입력하면 | Claude API가 예산 대비 매력도가 높은 경품 Top 5를 추천한다.
|
||||||
|
|
||||||
[입력 요구사항]
|
[입력 요구사항]
|
||||||
- [ ] 예산 입력 (최소 10,000원 ~ 최대 5,000,000원)
|
- [ ] 예산 입력 (최소 10,000원 ~ 최대 5,000,000원)
|
||||||
- [ ] 타겟 고객층 자동 설정 (업종 기반)
|
- [ ] 타겟 고객층 자동 설정 (업종 기반)
|
||||||
- [ ] 이벤트 목적 연동 (PLAN-010에서 선택한 목적)
|
- [ ] 이벤트 목적 연동 (PLAN-010에서 선택한 목적)
|
||||||
|
- [ ] 이벤트 진행 방법 선택 (필수)
|
||||||
|
- [옵션1] 추첨형: 기간 내 참여한 고객 중 이벤트가 끝나면 상품(쿠폰) 수량 안에서 당첨자 랜덤 추첨 진행
|
||||||
|
- [옵션2] 선착순형: 선착순 쿠폰 소진 방식 (e.g: 오픈 이벤트 50% 할인이벤트 50명 한정 진행 등, 소진 시 UFR-PART-050으로 바로 이벤트 종료)
|
||||||
|
|
||||||
[AI 경품 추천 처리]
|
[AI 경품 추천 처리]
|
||||||
- [ ] Claude API 연동
|
- [ ] Claude API 연동
|
||||||
- [ ] 프롬프트: 예산, 타겟 고객층, 이벤트 목적, 업종 정보 포함
|
- [ ] 프롬프트: 예산, 타겟 고객층, 이벤트 목적, 이벤트 진행 방법, 업종 정보 포함
|
||||||
- [ ] 예산 대비 매력도 최대화 알고리즘 적용
|
- [ ] 예산 대비 매력도 최대화 알고리즘 적용
|
||||||
- [ ] 타겟 고객 선호도 분석
|
- [ ] 타겟 고객 선호도 분석
|
||||||
- [ ] KT 멤버십 포인트 활용 옵션 포함
|
- [ ] 이벤트 진행 방법에 따른 경품 수량 제안
|
||||||
|
|
||||||
[추천 결과 제공]
|
[추천 결과 제공]
|
||||||
- [ ] 경품 목록 Top 5 생성
|
- [ ] 경품 목록 Top 5 생성
|
||||||
@ -153,11 +208,13 @@ UFR-PLAN-030: [AI경품추천] 소상공인으로서 | 나는, 예산 내에서
|
|||||||
- [ ] 직접 경품 입력 옵션 제공
|
- [ ] 직접 경품 입력 옵션 제공
|
||||||
- [ ] 수정된 내용 기반 예상 효과 재계산
|
- [ ] 수정된 내용 기반 예상 효과 재계산
|
||||||
- [ ] 예산 초과 시 경고 메시지 표시
|
- [ ] 예산 초과 시 경고 메시지 표시
|
||||||
|
- [ ] 선착순형 이벤트 선택 시 쿠폰 소진 시점 자동 종료 안내
|
||||||
|
|
||||||
[Policy]
|
[Policy]
|
||||||
- 예산 내 최적 경품 선정
|
- 예산 내 최적 경품 선정
|
||||||
- 타겟 고객 선호도 우선 고려
|
- 타겟 고객 선호도 우선 고려
|
||||||
- 소상공인의 경품 수정 자유도 보장
|
- 소상공인의 경품 수정 자유도 보장
|
||||||
|
- 이벤트 진행 방법에 따른 자동 프로세스 차별화
|
||||||
|
|
||||||
- M/21
|
- M/21
|
||||||
|
|
||||||
@ -284,48 +341,15 @@ UFR-CONT-010: [AI이미지생성] 소상공인으로서 | 나는, 이벤트 홍
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
UFR-CONT-020: [AI영상제작] 소상공인으로서 | 나는, SNS 및 우리동네TV 홍보를 위해 | AI가 15초 분량의 영상을 자동으로 제작해주기를 원한다.
|
|
||||||
- 시나리오: AI 기반 15초 영상 자동 제작
|
|
||||||
이미지 선택 완료 후 | 배경 음악과 텍스트 오버레이를 선택하면 | AI 영상 제작 엔진이 15초 영상을 자동 제작한다.
|
|
||||||
|
|
||||||
[입력 요구사항]
|
|
||||||
- [ ] 선택한 이미지 (CONT-010)
|
|
||||||
- [ ] 배경 음악 선택 (로열티 프리 음악 리스트 제공)
|
|
||||||
- [ ] 텍스트 오버레이 입력 (홍보 문구 자동 연동, 편집 가능)
|
|
||||||
- [ ] 우리동네TV용 해상도 선택 옵션 (1920x1080, 16:9)
|
|
||||||
|
|
||||||
[AI 영상 제작]
|
|
||||||
- [ ] AI 영상 제작 엔진 API 연동
|
|
||||||
- [ ] 15초 분량 영상 생성
|
|
||||||
- [ ] 로열티 프리 배경 음악 적용
|
|
||||||
- [ ] 자동 자막 생성 (텍스트 오버레이 기반)
|
|
||||||
- [ ] 화면 전환 효과 자동 적용
|
|
||||||
- [ ] 브랜드 로고 워터마크 삽입
|
|
||||||
- [ ] 우리동네TV용 1920x1080 (16:9) 해상도 버전 생성
|
|
||||||
|
|
||||||
[영상 결과]
|
|
||||||
- [ ] 15초 영상 파일 생성 (MP4 형식)
|
|
||||||
- [ ] 우리동네TV용 영상 파일 (1920x1080, 16:9)
|
|
||||||
- [ ] 자막 파일 생성 (SRT 형식)
|
|
||||||
- [ ] 미리보기 재생 기능
|
|
||||||
- [ ] 다운로드 가능
|
|
||||||
|
|
||||||
[Policy]
|
|
||||||
- 저작권 준수 음악만 사용
|
|
||||||
- 우리동네TV용 최적 해상도 자동 생성
|
|
||||||
|
|
||||||
- M/34
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
UFR-CONT-030: [SNS콘텐츠생성] 소상공인으로서 | 나는, 다양한 SNS에 게시하기 위해 | 플랫폼별로 최적화된 콘텐츠를 자동으로 생성해주기를 원한다.
|
UFR-CONT-030: [SNS콘텐츠생성] 소상공인으로서 | 나는, 다양한 SNS에 게시하기 위해 | 플랫폼별로 최적화된 콘텐츠를 자동으로 생성해주기를 원한다.
|
||||||
- 시나리오: SNS 플랫폼별 최적화 콘텐츠 생성
|
- 시나리오: SNS 플랫폼별 최적화 콘텐츠 생성
|
||||||
이미지와 영상 생성 완료 후 | Instagram, Naver Blog, Kakao Channel을 선택하면 | 각 SNS 플랫폼에 최적화된 해상도와 형식의 콘텐츠가 생성된다.
|
이미지 생성 완료 후 | Instagram, Naver Blog, Kakao Channel을 선택하면 | 각 SNS 플랫폼에 최적화된 해상도와 형식의 콘텐츠가 생성된다.
|
||||||
|
|
||||||
[SNS 플랫폼 선택]
|
[SNS 플랫폼 선택]
|
||||||
- [ ] Instagram (필수)
|
- [ ] Instagram (선택)
|
||||||
- [ ] Naver Blog (선택)
|
- [ ] Naver Blog (선택)
|
||||||
- [ ] Kakao Channel (선택)
|
- [ ] Kakao Channel (선택)
|
||||||
|
- [ ] 최소 1개 이상 플랫폼 선택 필수
|
||||||
|
|
||||||
[플랫폼별 최적화]
|
[플랫폼별 최적화]
|
||||||
- [ ] Instagram: 1080x1080 (정사각형)
|
- [ ] Instagram: 1080x1080 (정사각형)
|
||||||
@ -351,10 +375,14 @@ UFR-CONT-030: [SNS콘텐츠생성] 소상공인으로서 | 나는, 다양한 SNS
|
|||||||
---
|
---
|
||||||
|
|
||||||
UFR-CONT-040: [QR포스터생성] 소상공인으로서 | 나는, 오프라인 홍보를 위해 | QR 코드가 포함된 인쇄용 포스터를 생성하고 싶다.
|
UFR-CONT-040: [QR포스터생성] 소상공인으로서 | 나는, 오프라인 홍보를 위해 | QR 코드가 포함된 인쇄용 포스터를 생성하고 싶다.
|
||||||
- 시나리오: QR 코드 포스터 생성
|
- 시나리오: 콘텐츠 생성 후 QR 코드 포스터 생성 여부 선택
|
||||||
콘텐츠 생성 단계에서 | QR 연결 URL과 포스터 크기를 입력하면 | QR 코드가 포함된 인쇄용 포스터 PDF가 생성된다.
|
콘텐츠 생성 완료 후 | QR 포스터 생성 여부를 묻는 화면에서 "생성" 선택 시 | QR 연결 URL과 포스터 크기를 입력하면 | QR 코드가 포함된 인쇄용 포스터 PDF가 생성된다.
|
||||||
|
|
||||||
[입력 요구사항]
|
[QR 포스터 생성 여부 선택]
|
||||||
|
- [ ] "QR 포스터 생성" 선택 시: QR 포스터 생성 화면으로 이동
|
||||||
|
- [ ] "생성 안 함" 선택 시: 콘텐츠 편집 단계(UFR-CONT-050)로 바로 이동
|
||||||
|
|
||||||
|
[입력 요구사항] (QR 포스터 생성 선택 시)
|
||||||
- [ ] QR 연결 URL (이벤트 참여 페이지 URL)
|
- [ ] QR 연결 URL (이벤트 참여 페이지 URL)
|
||||||
- [ ] 포스터 크기 선택 (A4 또는 A3)
|
- [ ] 포스터 크기 선택 (A4 또는 A3)
|
||||||
|
|
||||||
@ -381,9 +409,8 @@ UFR-CONT-050: [콘텐츠편집] 소상공인으로서 | 나는, 콘텐츠를 개
|
|||||||
|
|
||||||
[편집 가능 항목]
|
[편집 가능 항목]
|
||||||
- [ ] 이미지: 텍스트 수정, 색상 조정
|
- [ ] 이미지: 텍스트 수정, 색상 조정
|
||||||
- [ ] 영상: 텍스트 오버레이 수정, 배경 음악 변경
|
|
||||||
- [ ] SNS 콘텐츠: 게시 텍스트 편집
|
- [ ] SNS 콘텐츠: 게시 텍스트 편집
|
||||||
- [ ] QR 포스터: 텍스트 수정, 레이아웃 조정
|
- [ ] QR 포스터: 텍스트 수정, 레이아웃 조정 (생성한 경우)
|
||||||
|
|
||||||
[편집 도구]
|
[편집 도구]
|
||||||
- [ ] 텍스트 편집기 (폰트, 크기, 색상 변경)
|
- [ ] 텍스트 편집기 (폰트, 크기, 색상 변경)
|
||||||
@ -406,9 +433,8 @@ UFR-CONT-060: [콘텐츠최종승인] 소상공인으로서 | 나는, 배포 전
|
|||||||
|
|
||||||
[콘텐츠 미리보기]
|
[콘텐츠 미리보기]
|
||||||
- [ ] 이미지 3종
|
- [ ] 이미지 3종
|
||||||
- [ ] 15초 영상
|
|
||||||
- [ ] SNS 콘텐츠 (플랫폼별)
|
- [ ] SNS 콘텐츠 (플랫폼별)
|
||||||
- [ ] QR 포스터
|
- [ ] QR 포스터 (생성한 경우)
|
||||||
|
|
||||||
[승인 처리]
|
[승인 처리]
|
||||||
- [ ] 승인 버튼 클릭 시 콘텐츠 DB 저장
|
- [ ] 승인 버튼 클릭 시 콘텐츠 DB 저장
|
||||||
@ -416,7 +442,7 @@ UFR-CONT-060: [콘텐츠최종승인] 소상공인으로서 | 나는, 배포 전
|
|||||||
- [ ] 다음 단계(배포) 안내
|
- [ ] 다음 단계(배포) 안내
|
||||||
|
|
||||||
[성능 기준]
|
[성능 기준]
|
||||||
- [ ] 전체 콘텐츠 생성 3분 이내 완료
|
- [ ] 전체 콘텐츠 생성 2-3분 이내 완료
|
||||||
|
|
||||||
- M/3
|
- M/3
|
||||||
|
|
||||||
@ -432,9 +458,10 @@ UFR-DIST-010: [다중채널배포설정] 소상공인으로서 | 나는, 이벤
|
|||||||
- [ ] 우리동네TV (선택)
|
- [ ] 우리동네TV (선택)
|
||||||
- [ ] 링고비즈 연결음 (선택)
|
- [ ] 링고비즈 연결음 (선택)
|
||||||
- [ ] 지니TV 광고 (선택)
|
- [ ] 지니TV 광고 (선택)
|
||||||
- [ ] Instagram (필수)
|
- [ ] Instagram (선택)
|
||||||
- [ ] Naver Blog (선택)
|
- [ ] Naver Blog (선택)
|
||||||
- [ ] Kakao Channel (선택)
|
- [ ] Kakao Channel (선택)
|
||||||
|
- [ ] 최소 1개 이상 채널 선택 필수
|
||||||
|
|
||||||
[배포 설정]
|
[배포 설정]
|
||||||
- [ ] 즉시 배포 또는 예약 배포 선택
|
- [ ] 즉시 배포 또는 예약 배포 선택
|
||||||
@ -661,32 +688,39 @@ UFR-PART-020: [중복참여방지] 시스템으로서 | 나는, 공정한 이벤
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
UFR-PART-030: [자동당첨자추첨] 소상공인으로서 | 나는, 수동 관리 부담을 줄이기 위해 | 이벤트 종료 시 자동으로 당첨자가 추첨되기를 원한다.
|
UFR-PART-030: [자동당첨자추첨] 소상공인으로서 | 나는, 수동 관리 부담을 줄이기 위해 | 추첨형 이벤트 종료 시 자동으로 당첨자가 추첨되기를 원한다.
|
||||||
- 시나리오: 이벤트 종료 후 자동 추첨
|
- 시나리오: 추첨형 이벤트 종료 후 자동 추첨
|
||||||
이벤트 종료 시각 도래 시 | 시스템이 자동으로 참여자 목록을 조회하면 | 공정한 알고리즘으로 당첨자를 추첨하고 명단을 생성한다.
|
추첨형 이벤트 종료 시각 도래 시 | 시스템이 자동으로 참여자 목록을 조회하면 | 공정한 알고리즘으로 당첨자를 추첨하고 명단을 생성한다.
|
||||||
|
|
||||||
[추첨 시작 트리거]
|
[추첨 시작 트리거]
|
||||||
- [ ] 이벤트 종료 시각 자동 감지
|
- [ ] 이벤트 진행 방법 확인 (UFR-PLAN-030에서 선택한 방법)
|
||||||
- [ ] 스케줄러에 의한 자동 추첨 시작
|
- [ ] 추첨형 이벤트: 종료 시각 자동 감지하여 추첨 시작
|
||||||
- [ ] 또는 소상공인의 수동 추첨 요청
|
- [ ] 선착순형 이벤트: 추첨 진행하지 않음 (쿠폰 소진 시 자동 종료)
|
||||||
|
- [ ] 스케줄러에 의한 자동 추첨 시작 (추첨형만)
|
||||||
|
- [ ] 또는 소상공인의 수동 추첨 요청 (추첨형만)
|
||||||
|
|
||||||
[당첨자 추첨 처리]
|
[당첨자 추첨 처리] (추첨형 이벤트만)
|
||||||
- [ ] 참여자 목록 조회 (이벤트 ID 기준)
|
- [ ] 참여자 목록 조회 (이벤트 ID 기준)
|
||||||
- [ ] 중복 참여자 제외
|
- [ ] 중복 참여자 제외
|
||||||
- [ ] 매장 방문 고객 가산점 적용
|
- [ ] 매장 방문 고객 가산점 적용
|
||||||
- [ ] 난수 기반 무작위 추첨 알고리즘
|
- [ ] 난수 기반 무작위 추첨 알고리즘
|
||||||
- [ ] 당첨 인원만큼 추첨 (기획안에 정의된 인원)
|
- [ ] 당첨 인원만큼 추첨 (기획안에 정의된 인원)
|
||||||
|
|
||||||
[추첨 결과]
|
[선착순형 이벤트 처리]
|
||||||
|
- [ ] 쿠폰 소진 시 자동으로 이벤트 종료 (UFR-PART-050으로 이동)
|
||||||
|
- [ ] 참여 순서대로 당첨자 자동 확정
|
||||||
|
- [ ] 추첨 과정 없음
|
||||||
|
|
||||||
|
[추첨 결과] (추첨형 이벤트)
|
||||||
- [ ] 당첨자 목록 생성
|
- [ ] 당첨자 목록 생성
|
||||||
- [ ] 추첨 과정 로그 기록 (감사 추적용)
|
- [ ] 추첨 과정 로그 기록 (감사 추적용)
|
||||||
- [ ] 당첨자 정보 DB 저장
|
- [ ] 당첨자 정보 DB 저장
|
||||||
- [ ] 소상공인에게 당첨자 명단 제공
|
- [ ] 소상공인에게 당첨자 명단 제공
|
||||||
|
|
||||||
[Policy]
|
[Policy]
|
||||||
- 공정한 추첨 알고리즘 적용
|
- 이벤트 진행 방법에 따른 자동 프로세스 차별화
|
||||||
- 추첨 과정 로그 기록
|
- 추첨형: 공정한 추첨 알고리즘 적용, 매장 방문 고객 가산점
|
||||||
- 매장 방문 고객 가산점
|
- 선착순형: 선착순 자동 확정, 추첨 없음
|
||||||
|
|
||||||
- M/13
|
- M/13
|
||||||
|
|
||||||
@ -765,7 +799,7 @@ UFR-ANAL-010: [실시간대시보드조회] 소상공인으로서 | 나는, 이
|
|||||||
- [ ] 5분 간격 자동 업데이트
|
- [ ] 5분 간격 자동 업데이트
|
||||||
- [ ] KT 채널 데이터 수집 API 연동 (우리동네TV, 지니TV)
|
- [ ] KT 채널 데이터 수집 API 연동 (우리동네TV, 지니TV)
|
||||||
- [ ] POS 시스템 연동 (매장 방문, 매출 데이터)
|
- [ ] POS 시스템 연동 (매장 방문, 매출 데이터)
|
||||||
- [ ] 구글 애널리틱스 연동 (웹/앱 유입)
|
- [ ] SNS 플랫폼 데이터 수집 (Instagram, Naver Blog, Kakao Channel)
|
||||||
|
|
||||||
[대시보드 UI]
|
[대시보드 UI]
|
||||||
- [ ] 그래프 시각화 (시간대별 추이)
|
- [ ] 그래프 시각화 (시간대별 추이)
|
||||||
@ -787,10 +821,10 @@ UFR-ANAL-020: [채널별성과분석] 소상공인으로서 | 나는, 효과적
|
|||||||
[채널별 데이터 수집]
|
[채널별 데이터 수집]
|
||||||
- [ ] 우리동네TV: 노출 수, 도달률
|
- [ ] 우리동네TV: 노출 수, 도달률
|
||||||
- [ ] 지니TV: 노출 수, 도달 가구 수
|
- [ ] 지니TV: 노출 수, 도달 가구 수
|
||||||
- [ ] Instagram: 조회 수, 좋아요, 공유 수
|
- [ ] Instagram: 조회 수, 좋아요, 저장 수, 공유 수 (Instagram Graph API 활용)
|
||||||
- [ ] Naver Blog: 방문자 수, 체류 시간
|
- [ ] Naver Blog: 방문자 수, 조회 수 (체류 시간 확인 불가)
|
||||||
- [ ] Kakao Channel: 조회 수, 클릭 수
|
- [ ] Kakao Channel: 조회 수, 클릭 수 (Kakao API 활용)
|
||||||
- [ ] QR 코드: 스캔 횟수
|
- [ ] QR 코드: 스캔 횟수 (자체 QR 코드 추적 시스템)
|
||||||
|
|
||||||
[성과 지표 계산]
|
[성과 지표 계산]
|
||||||
- [ ] 노출 수 (Impression)
|
- [ ] 노출 수 (Impression)
|
||||||
@ -808,8 +842,8 @@ UFR-ANAL-020: [채널별성과분석] 소상공인으로서 | 나는, 효과적
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
UFR-ANAL-030: [ROI자동계산] 소상공인으로서 | 나는, 투자 대비 효과를 명확히 알기 위해 | 총비용 대비 수익(ROI)이 자동으로 계산되기를 원한다.
|
UFR-ANAL-030: [광고수익률자동계산] 소상공인으로서 | 나는, 투자 대비 효과를 명확히 알기 위해 | 총비용 대비 수익(광고 수익률)이 자동으로 계산되기를 원한다.
|
||||||
- 시나리오: ROI 자동 계산 및 분석
|
- 시나리오: 광고 수익률 자동 계산 및 분석
|
||||||
이벤트 진행 중 또는 종료 후 | 효과 측정 대시보드에서 | 투자 비용 대비 수익이 자동으로 계산되어 표시된다.
|
이벤트 진행 중 또는 종료 후 | 효과 측정 대시보드에서 | 투자 비용 대비 수익이 자동으로 계산되어 표시된다.
|
||||||
|
|
||||||
[비용 데이터 수집]
|
[비용 데이터 수집]
|
||||||
@ -859,7 +893,6 @@ UFR-ANAL-040: [분석리포트생성] 소상공인으로서 | 나는, 이벤트
|
|||||||
|
|
||||||
[리포트 생성]
|
[리포트 생성]
|
||||||
- [ ] 데이터 수집 및 집계
|
- [ ] 데이터 수집 및 집계
|
||||||
- [ ] 구글 애널리틱스 데이터 통합
|
|
||||||
- [ ] 그래프 이미지 생성
|
- [ ] 그래프 이미지 생성
|
||||||
- [ ] PDF 레이아웃 생성
|
- [ ] PDF 레이아웃 생성
|
||||||
- [ ] PDF 파일 생성
|
- [ ] PDF 파일 생성
|
||||||
@ -1071,7 +1104,7 @@ NFR-PERF-040: [실시간데이터수집] 시스템으로서 | 나는, 정확한
|
|||||||
[데이터 소스]
|
[데이터 소스]
|
||||||
- [ ] KT 채널 API (우리동네TV, 지니TV)
|
- [ ] KT 채널 API (우리동네TV, 지니TV)
|
||||||
- [ ] POS 시스템
|
- [ ] POS 시스템
|
||||||
- [ ] 구글 애널리틱스
|
- [ ] SNS 플랫폼 API (Instagram, Naver Blog, Kakao Channel)
|
||||||
- [ ] 참여자 DB
|
- [ ] 참여자 DB
|
||||||
|
|
||||||
- M/13
|
- M/13
|
||||||
@ -1149,54 +1182,61 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소
|
|||||||
|
|
||||||
**[마이크로서비스별 검토]**
|
**[마이크로서비스별 검토]**
|
||||||
|
|
||||||
1) **User 서비스**
|
1. **User 서비스**
|
||||||
모든 유저스토리 ✅ 실현 가능
|
모든 유저스토리 ✅ 실현 가능
|
||||||
|
|
||||||
- 표준적인 인증/인가 패턴
|
- 표준적인 인증/인가 패턴
|
||||||
- KT 인증 시스템, 사업자번호 검증 시스템 연동
|
- KT 인증 시스템, 사업자번호 검증 시스템 연동
|
||||||
- JWT 토큰, 세션 관리
|
- JWT 토큰, 세션 관리
|
||||||
|
|
||||||
2) **Event Planning 서비스**
|
2. **Event Planning 서비스**
|
||||||
대부분 ✅ 실현 가능, AI 응답 시간 주의 필요
|
대부분 ✅ 실현 가능, AI 응답 시간 주의 필요
|
||||||
|
|
||||||
**주요 검토 사항:**
|
**주요 검토 사항:**
|
||||||
|
|
||||||
- UFR-PLAN-020~050: ⚠️ AI API 응답 시간 관리 필요
|
- UFR-PLAN-020~050: ⚠️ AI API 응답 시간 관리 필요
|
||||||
- Claude API, GPT-4 API 병렬 호출
|
- Claude API, GPT-4 API 병렬 호출
|
||||||
- 응답 캐싱으로 속도 개선
|
- 응답 캐싱으로 속도 개선
|
||||||
- 10초 목표 달성을 위한 프롬프트 최적화
|
- 10초 목표 달성을 위한 프롬프트 최적화
|
||||||
|
|
||||||
3) **Content Generation 서비스**
|
3. **Content Generation 서비스**
|
||||||
⚠️ 높은 기술적 복잡도
|
⚠️ 높은 기술적 복잡도
|
||||||
|
|
||||||
**주요 검토 사항:**
|
**주요 검토 사항:**
|
||||||
|
|
||||||
- UFR-CONT-010: Stable Diffusion API 연동 (이미지 생성 90초)
|
- UFR-CONT-010: Stable Diffusion API 연동 (이미지 생성 90초)
|
||||||
- UFR-CONT-020: AI 영상 제작 엔진 연동 (영상 제작 90초)
|
- UFR-CONT-020: AI 영상 제작 엔진 연동 (영상 제작 90초)
|
||||||
- 3분 목표 달성을 위한 병렬 처리 필수
|
- 3분 목표 달성을 위한 병렬 처리 필수
|
||||||
|
|
||||||
4) **Distribution 서비스**
|
4. **Distribution 서비스**
|
||||||
대부분 ✅ 실현 가능
|
대부분 ✅ 실현 가능
|
||||||
|
|
||||||
**주요 검토 사항:**
|
**주요 검토 사항:**
|
||||||
|
|
||||||
- 다중 외부 API 연동 (우리동네TV, 링고비즈, 지니TV, SNS)
|
- 다중 외부 API 연동 (우리동네TV, 링고비즈, 지니TV, SNS)
|
||||||
- 병렬 배포로 1분 목표 달성
|
- 병렬 배포로 1분 목표 달성
|
||||||
- 배포 실패 시 자동 재시도 (최대 3회)
|
- 배포 실패 시 자동 재시도 (최대 3회)
|
||||||
|
|
||||||
5) **Participation 서비스**
|
5. **Participation 서비스**
|
||||||
모든 유저스토리 ✅ 실현 가능
|
모든 유저스토리 ✅ 실현 가능
|
||||||
|
|
||||||
- 표준적인 참여 관리 패턴
|
- 표준적인 참여 관리 패턴
|
||||||
- 중복 방지, 추첨 알고리즘, SMS/알림톡 발송
|
- 중복 방지, 추첨 알고리즘, SMS/알림톡 발송
|
||||||
|
|
||||||
6) **Analytics 서비스**
|
6. **Analytics 서비스**
|
||||||
대부분 ✅ 실현 가능
|
대부분 ✅ 실현 가능
|
||||||
|
|
||||||
**주요 검토 사항:**
|
**주요 검토 사항:**
|
||||||
|
|
||||||
- 다중 데이터 소스 통합 (KT API, POS, 구글 애널리틱스)
|
- 다중 데이터 소스 통합 (KT API, POS, 구글 애널리틱스)
|
||||||
- 실시간 데이터 수집 (5분 간격)
|
- 실시간 데이터 수집 (5분 간격)
|
||||||
- ROI 자동 계산 로직
|
- ROI 자동 계산 로직
|
||||||
|
|
||||||
7) **AI Learning 서비스**
|
7. **AI Learning 서비스**
|
||||||
⚠️ 가장 높은 기술적 복잡도
|
⚠️ 가장 높은 기술적 복잡도
|
||||||
|
|
||||||
**주요 검토 사항:**
|
**주요 검토 사항:**
|
||||||
|
|
||||||
- AI 머신러닝 엔진 연동
|
- AI 머신러닝 엔진 연동
|
||||||
- 빅데이터 분석 시스템 구축
|
- 빅데이터 분석 시스템 구축
|
||||||
- 성공/실패 패턴 학습 알고리즘
|
- 성공/실패 패턴 학습 알고리즘
|
||||||
@ -1205,23 +1245,27 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소
|
|||||||
**[주요 기술 스택 권장사항]**
|
**[주요 기술 스택 권장사항]**
|
||||||
|
|
||||||
**백엔드:**
|
**백엔드:**
|
||||||
|
|
||||||
- Node.js/Spring Boot (마이크로서비스)
|
- Node.js/Spring Boot (마이크로서비스)
|
||||||
- Redis (캐싱, 세션)
|
- Redis (캐싱, 세션)
|
||||||
- PostgreSQL/MongoDB
|
- PostgreSQL/MongoDB
|
||||||
- RabbitMQ/Kafka (비동기 처리)
|
- RabbitMQ/Kafka (비동기 처리)
|
||||||
|
|
||||||
**프론트엔드:**
|
**프론트엔드:**
|
||||||
|
|
||||||
- React/Next.js
|
- React/Next.js
|
||||||
- TypeScript
|
- TypeScript
|
||||||
- Zustand/Redux (상태관리)
|
- Zustand/Redux (상태관리)
|
||||||
|
|
||||||
**AI/ML:**
|
**AI/ML:**
|
||||||
|
|
||||||
- Claude API (경품 추천, 참여 방법 설계)
|
- Claude API (경품 추천, 참여 방법 설계)
|
||||||
- GPT-4 API (홍보 문구 생성)
|
- GPT-4 API (홍보 문구 생성)
|
||||||
- Stable Diffusion (이미지 생성)
|
- Stable Diffusion (이미지 생성)
|
||||||
- AI 영상 제작 엔진
|
- AI 영상 제작 엔진
|
||||||
|
|
||||||
**외부 연동:**
|
**외부 연동:**
|
||||||
|
|
||||||
- KT 인증 시스템
|
- KT 인증 시스템
|
||||||
- 사업자번호 검증 시스템
|
- 사업자번호 검증 시스템
|
||||||
- 우리동네TV, 링고비즈, 지니TV API
|
- 우리동네TV, 링고비즈, 지니TV API
|
||||||
@ -1230,6 +1274,7 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소
|
|||||||
- 구글 애널리틱스
|
- 구글 애널리틱스
|
||||||
|
|
||||||
**인프라:**
|
**인프라:**
|
||||||
|
|
||||||
- Docker/Kubernetes
|
- Docker/Kubernetes
|
||||||
- API Gateway
|
- API Gateway
|
||||||
- Circuit Breaker
|
- Circuit Breaker
|
||||||
@ -1239,6 +1284,7 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소
|
|||||||
**[주요 기술적 리스크 및 해결방안]**
|
**[주요 기술적 리스크 및 해결방안]**
|
||||||
|
|
||||||
**1. AI 응답 시간 (10초 제약)**
|
**1. AI 응답 시간 (10초 제약)**
|
||||||
|
|
||||||
- 리스크: AI API 응답이 10초를 초과할 수 있음
|
- 리스크: AI API 응답이 10초를 초과할 수 있음
|
||||||
- 해결방안:
|
- 해결방안:
|
||||||
- 프롬프트 최적화로 응답 시간 단축
|
- 프롬프트 최적화로 응답 시간 단축
|
||||||
@ -1246,6 +1292,7 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소
|
|||||||
- 응답 캐싱 적극 활용
|
- 응답 캐싱 적극 활용
|
||||||
|
|
||||||
**2. 콘텐츠 생성 시간 (3분 제약)**
|
**2. 콘텐츠 생성 시간 (3분 제약)**
|
||||||
|
|
||||||
- 리스크: 이미지와 영상 생성이 3분을 초과할 수 있음
|
- 리스크: 이미지와 영상 생성이 3분을 초과할 수 있음
|
||||||
- 해결방안:
|
- 해결방안:
|
||||||
- 이미지와 영상 병렬 생성
|
- 이미지와 영상 병렬 생성
|
||||||
@ -1253,6 +1300,7 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소
|
|||||||
- 콘텐츠 템플릿 캐싱
|
- 콘텐츠 템플릿 캐싱
|
||||||
|
|
||||||
**3. 다중 외부 API 의존성**
|
**3. 다중 외부 API 의존성**
|
||||||
|
|
||||||
- 리스크: API 장애 시 서비스 중단
|
- 리스크: API 장애 시 서비스 중단
|
||||||
- 해결방안:
|
- 해결방안:
|
||||||
- 각 API별 폴백 전략 수립
|
- 각 API별 폴백 전략 수립
|
||||||
@ -1261,6 +1309,7 @@ NFR-SCAL-010: [동시이벤트처리] 시스템으로서 | 나는, 다수의 소
|
|||||||
- 배포 실패 시 자동 재시도 (3회)
|
- 배포 실패 시 자동 재시도 (3회)
|
||||||
|
|
||||||
**4. 실시간 데이터 수집**
|
**4. 실시간 데이터 수집**
|
||||||
|
|
||||||
- 리스크: 다중 데이터 소스 통합 복잡도
|
- 리스크: 다중 데이터 소스 통합 복잡도
|
||||||
- 해결방안:
|
- 해결방안:
|
||||||
- 스케줄러 기반 자동 수집 (5분 간격)
|
- 스케줄러 기반 자동 수집 (5분 간격)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user