문제
- 대형 유통 원두는 로스팅 후 시간이 오래 지나 향미가 떨어지고, 동네 로스터리 원두는 품질은 좋지만 매번 방문·주문하기 번거롭다.
- 소비 속도는 사람마다 다른데 대부분의 정기배송은 주기가 고정되어 있어, 원두가 남은 상태에서 다음 배송이 오거나 떨어져서 급하게 사는 일이 반복된다.
- 해지 시 사유를 묻지 않고 결제를 바로 끊어 이탈 이유를 알 수 없고 붙잡을 기회도 놓친다. 소비자는 "잠깐 쉬기", "양 줄이기" 정도의 니즈인데도 선택지가 해지뿐이다.
- 초기 타겟은 원두를 집에서 직접 내려 마시며, 신선한 동네 로스터리 원두에 관심이 있지만 매번 구매·주문을 챙기기 번거롭다고 느끼는 1인 가구·맞벌이 부부·커피 애호가다.
목표
- 동네 로스터리 원두를 로스팅 3일 안에 발송하는 신선도 기준을 구독 경험의 중심에 둔다(로스터리 협업 조건에 따라 조정 필요, 확정 필요).
- 취향 테스트 결과를 구독 플랜에 반영해 개인화 추천을 제공한다.
- 남은 원두 양에 맞춰 주기를 바꾸거나 한 회차를 건너뛸 수 있는 유연한 주기를 제공한다.
- 해지 사유를 수집하고 사유에 맞춰 일시정지·주기 변경·할인/혜택·건너뛰기를 먼저 제안하는 리텐션 플로우를 내장한다.
- 측정 지표(재는 방법): 구독 유지율(기간별 잔존 구독자 비율), 해지 사유별 분포(해지 플로우 수집 사유 집계), 리텐션 제안 수락률(제안 노출 대비 수락 건수), 배송 정시 출고율(출고 리스트 기준), 취향 테스트 완료율, 주기 변경·건너뛰기 이용률. 목표 수치는 확정 필요.
출시 범위
- 포함: 회원가입·로그인, 취향 테스트와 원두 추천 결과, 상품·플랜(매주·격주·매월) 조회와 구독 신청, 구독 관리(주기 변경·건너뛰기·일시정지·해지), 해지 사유 수집과 리텐션 제안, 선물 구독(정해진 기간), 데모(모의 결제) 정기결제, 쿠폰 적용, 공지·FAQ·이벤트·배너·후기 콘텐츠, 관리자 페이지(구독자 목록·상태, 배송 일정 캘린더와 출고 리스트, 정기결제 결과와 실패 재시도, 해지 사유 통계와 리텐션 제안 성과, 상품·플랜·가격 관리, 선물 구독 관리, 쿠폰 관리, 회원 관리, 콘텐츠 관리).
- 제외(범위 밖·다음 단계): 실제 PG 연동과 정산, 관리자 계정·권한 관리, 연동 규격 관리, 차단 정책, 앱(네이티브) 출시.
역할과 권한
- 방문자(비회원): 상품·플랜·콘텐츠 조회, 취향 테스트 응답, 회원가입·로그인, 선물 구독 결제 진입.
- 회원(구독자): 구독 신청·결제(데모), 구독 관리(주기 변경·건너뛰기·일시정지·해지), 해지 사유 제출과 리텐션 제안 수락, 선물 구독 구매·등록, 쿠폰 사용, 후기 작성, 마이페이지 정보 관리.
- 관리자(운영자): 구독자 목록·상태(활성·일시정지·해지 예정·해지) 관리, 배송 일정 캘린더와 출고 리스트 운영, 정기결제 결과 확인과 실패 재시도, 해지 사유 통계와 리텐션 제안 성과 확인, 상품·플랜·가격 관리, 선물 구독 관리, 쿠폰 관리, 회원 관리, 공지·FAQ·이벤트·배너·후기 관리.
- 관리자 계정·권한 관리와 연동 규격 관리, 차단 정책은 이번 출시 범위 밖·다음 단계다.
사용자 시나리오
- 한지우(1인 가구): 취향 테스트를 마치고 소용량·격주 플랜을 추천받아 구독을 신청한다. 원두가 남으면 구독 관리에서 다음 회차를 건너뛰거나 주기를 매월로 바꾼다.
- 박서준(맞벌이 부부): 매주 플랜으로 구독하고, 배송 일정을 확인한다. 바쁜 시기에는 일시정지를 신청하고 재개 시점을 지정한다.
- 이도현(커피 애호가): 로스팅 날짜와 원산지·로스팅 포인트를 확인하고 원두를 고른다. 해지하려다 사유를 제출하고, 제안된 주기 변경·할인/혜택을 검토해 유지로 전환한다.
- 선물 구매자: 정해진 기간의 선물 구독을 결제(데모)하고, 받는 사람이 등록해 기간 동안 배송받는다.
- 관리자: 구독자 상태를 확인하고, 다음 배송 일정 캘린더에서 출고 리스트를 뽑아 배송 묶음을 처리한다. 정기결제 실패 건을 재시도하고, 해지 사유 통계와 리텐션 제안 성과를 확인한다.
핵심 기능
- 취향 테스트: 질문 응답으로 취향을 파악하고 추천 원두와 플랜을 제시한다.
- 구독 신청·결제(데모): 플랜(매주·격주·매월)과 원두를 선택하고 모의 결제로 구독을 시작한다.
- 구독 관리: 주기 변경, 한 회차 건너뛰기, 일시정지·재개, 해지를 제공한다.
- 해지 방어(리텐션): 해지 사유를 수집하고 사유에 맞춰 일시정지·주기 변경·할인/혜택·건너뛰기를 먼저 제안한다.
- 선물 구독: 정해진 기간 단위로 구매하고 수령자가 등록해 배송받는다.
- 콘텐츠: 공지·FAQ·이벤트·배너·후기를 제공한다.
- 관리자 기능: 구독자 목록·상태, 배송 일정 캘린더와 출고 리스트, 정기결제 결과와 실패 재시도, 해지 사유 통계와 리텐션 제안 성과, 상품·플랜·가격 관리, 선물 구독 관리, 쿠폰 관리, 회원 관리, 콘텐츠 관리.
기술 스택과 아키텍처
- PHP 8(프레임워크 없이), MySQL/MariaDB(utf8mb4, mysqli·prepared statement), Apache, 카페24 VPS(또는 카페24 웹호스팅) 배포.
- 서버 렌더링 기반 화면과 관리자 화면을 같은 코드베이스에서 분리된 경로로 운영한다.
- 정기결제는 데모(모의 결제) 모듈로 구현하고, 실제 PG 연동은 범위 밖·다음 단계로 둔다.
- 배송 일정 생성과 출고 리스트 산출은 서버 측 배치(스케줄)로 처리한다.
전체 IA와 화면 흐름
- 사용자 화면: 홈 → 취향 테스트 → 추천 결과 → 상품·플랜 목록 → 상품 상세 → 구독 신청(결제 데모) → 구독 관리(주기 변경·건너뛰기·일시정지·해지) → 해지 사유·리텐션 제안 → 선물 구독 → 마이페이지 → 공지·FAQ·이벤트·후기.
- 관리자 화면(사용자 화면의 짝): 구독자 목록·상세·상태 변경, 배송 일정 캘린더·출고 리스트, 정기결제 결과·실패 재시도, 해지 사유 통계·리텐션 제안 성과, 상품·플랜·가격 관리, 선물 구독 관리, 쿠폰 관리, 회원 관리, 공지·FAQ·이벤트·배너·후기 관리.
- 방문자 입력(구독 신청, 선물 구독, 후기, 문의)마다 관리 화면(목록·상세·처리)을 둔다.
- 회원가입·로그인이 있으므로 회원 관리 화면을 둔다. 결제(데모)가 있으므로 주문·결제 관리 화면을 둔다.
데이터 모델
- 회원: 계정, 연락처, 주소, 마케팅 수신 동의 여부, 가입·탈퇴 상태.
- 상품·플랜: 원두(원산지·로스팅 포인트·로스팅 날짜), 플랜(매주·격주·매월), 가격, 재고·판매 상태.
- 구독: 구독자, 플랜, 주기, 상태(활성·일시정지·해지 예정·해지), 다음 배송일, 건너뛰기 이력.
- 결제(데모): 결제 시도, 결과, 실패 사유, 재시도 이력.
- 배송: 배송 일정, 출고 리스트, 배송 묶음, 출고 상태.
- 리텐션: 해지 사유, 제안 유형(일시정지·주기 변경·할인/혜택·건너뛰기), 노출·수락 결과.
- 선물 구독: 구매자, 수령자, 기간, 등록 상태.
- 쿠폰: 코드, 할인 조건, 사용·만료 상태.
- 콘텐츠: 공지·FAQ·이벤트·배너·후기.
API와 외부 연동
- 내부 API: 취향 테스트 제출·추천 조회, 구독 신청·상태 변경(주기 변경·건너뛰기·일시정지·해지), 해지 사유 제출·리텐션 제안 조회·수락, 선물 구독 등록, 쿠폰 검증, 관리자용 구독자·배송·결제·통계 조회.
- 데모 결제 모듈: 결제 요청·결과 반환을 모의 처리하고 실패 재시도 흐름을 제공한다.
- 외부 연동: 실제 PG 연동은 범위 밖·다음 단계로 둔다. 협업 로스터리 관련 연동 규격은 확정 필요다.
- 관리자 화면에서 정기결제 결과와 실패 재시도를 처리한다.
UI·UX 요구사항
- 취향 테스트는 짧은 단계로 진행되고 결과에서 추천 원두·플랜으로 바로 이어진다.
- 상품 상세에서 로스팅 날짜, 원산지, 로스팅 포인트를 확인할 수 있다.
- 구독 관리 화면에서 주기 변경·건너뛰기·일시정지·해지를 한 화면에서 처리한다.
- 해지 플로우는 사유 선택 후 리텐션 제안을 먼저 보여주고, 그래도 해지 시 사유를 기록한다.
- 관리자 화면은 구독자 상태, 배송 일정 캘린더, 출고 리스트, 결제 결과, 해지 사유 통계를 한눈에 보여준다.
보안과 개인정보
- 개인정보 수집 항목(이름, 연락처, 주소, 결제 데모 정보)과 수집·이용 동의를 받는다.
- 마케팅 수신 동의는 별도로 받고 수신거부 방법을 제공한다.
- 보관 기간과 파기 절차를 정하고, 목적 달성 시 파기한다.
- 비밀번호는 해시로 저장하고, 모든 DB 접근은 prepared statement로 처리한다.
- 관리자 화면 접근은 인증된 관리자로 제한한다.
비기능 요구사항
- 주요 사용자 화면과 관리자 화면은 모바일·데스크톱에서 사용 가능해야 한다.
- 배송 일정 생성과 출고 리스트 산출은 정해진 시각에 안정적으로 실행되어야 한다.
- 데모 결제 실패 시 재시도 흐름이 기록되고 관리자 화면에서 확인 가능해야 한다.
- 성능·가용성 목표 수치는 확정 필요다.
구현 계획
- 1단계: 회원가입·로그인, 상품·플랜 조회, 취향 테스트와 추천.
- 2단계: 구독 신청·데모 결제, 구독 관리(주기 변경·건너뛰기·일시정지·해지).
- 3단계: 해지 사유 수집과 리텐션 제안, 선물 구독, 쿠폰.
- 4단계: 관리자 페이지(구독자·배송·결제·통계·상품·플랜·가격·선물·쿠폰·회원·콘텐츠).
- 5단계: 콘텐츠(공지·FAQ·이벤트·배너·후기)와 QA·배포.
수용 기준과 QA
- 취향 테스트 완료 후 추천 원두·플랜이 표시된다.
- 구독 신청(데모 결제) 후 구독 상태가 활성으로 생성되고 다음 배송일이 정해진다.
- 주기 변경·건너뛰기·일시정지·해지가 구독 관리 화면에서 반영된다.
- 해지 시 사유가 기록되고 리텐션 제안이 노출되며, 수락·거절 결과가 저장된다.
- 관리자 화면에서 구독자 상태, 출고 리스트, 결제 결과·재시도, 해지 사유 통계가 확인된다.
- 선물 구독 구매·등록과 쿠폰 적용이 정상 동작한다.
배포와 운영
- 카페24 VPS(또는 카페24 웹호스팅)에 PHP 8·MySQL/MariaDB·Apache 환경으로 배포한다.
- 배송 일정 생성과 출고 리스트 산출 배치를 운영 스케줄로 관리한다.
- 관리자 페이지에서 구독자·배송·결제·해지 사유·리텐션 성과를 모니터링한다.
- 실제 PG 연동과 정산은 범위 밖·다음 단계로 두고, 데모 결제 환경을 유지한다.
- 협업 로스터리 계약 조건과 로스팅 3일 내 발송 기준은 확정 필요다.