← 마스터맵
🎯 봉이 회원 100만 플랫폼 — 개발 기획서 V1.1 (보완판)
회원 기반 AI 생활 플랫폼 · 포인트·응모권·추천·경품 성장 엔진 · 비즈니스 기획서 → 개발 기획서 변환 · 보완 반영
✅ V1.1 보완 반영: ① 단통법 폐지 → 개통 포인트·경품 리스크 제거 ② 운세·사주·궁합 콘텐츠 제외(우선순위 보류) ③ 응모권 매월 리셋 = 정상(매월 자동 응모 후 리셋) ④ PASS 본인인증 회원만 추천·적립 보상 → 친구초대 어뷰징 1차 차단.
⚠️ 남은 검토 항목(§15): 경품규제 한도 · 전자금융거래법(포인트 현금성) · 어뷰징 방지 · 제세공과금. 데이터·정책 미확정은 확정 필요 표기.
★ V1 MVP — 가장 심플한 최소 기능 (우선 개발)
우선은 3개 핵심 기능만으로 출시 → 검증 후 확장. 나머지(앰배서더·등급·AI콘텐츠·판매점)는 V2+로 보류.
① 친구초대PASS 인증 회원 추천코드 → 피추천인 PASS 가입 시 추천인·가입자에게 포인트+응모권 지급
② 경품응모 (자동)모든 회원 매월 자동 1장 응모(기본·무료) + 보유 응모권만큼 응모 수↑ → 월간 추첨·당첨·지급
③ 포인트 사용 → 응모권 구매포인트로 응모권 구매(1,000P=1장) · (추후 현금/페이 전환·상품할인 — 전금법 검토 후)
④ 추천왕 (앰배서더)추천 실적 점수화 → 월간 랭킹 + 상금 (추천 가입·개통·중고폰 등 가중치). 추천 바이럴 핵심 동력
🔁 MVP 루프: 가입(자동 1장) → 친구초대(응모권+P 획득) / 포인트로 응모권 구매 → 응모권 많을수록 당첨확률↑ → 월간 추첨 → 재방문. 응모권 획득 경로 = ①자동 1장 ②친구초대 ③포인트 구매 (MVP 한정).
MVP 데이터 (8테이블)
bongi_members · bongi_point_ledger · bongi_point_rules · bongi_tickets · bongi_referrals · bongi_ambassador_score · bongi_prize_events · bongi_prize_entries
V2+로 보류
회원 등급(§8) · AI 상담/운세(§10) · 판매점 연동(§11) · 추천 마일스톤 보너스(5/10/30명)
⚠️ ③ "포인트 → 현금 전환"은 전자금융거래법(선불전자지급수단) 가장 민감(§15-3). → 우선 응모권 구매·상품 할인부터 열고, 현금 전환은 법률 검토 후 단계 오픈 권장.
0 · 개요 & 목표 (이하 전체 그림 — V1은 위 MVP만)
최종 정의: 봉이는 통신 플랫폼이 아니다. 회원 기반 AI 생활 플랫폼이다. 통신·인터넷·중고폰·알뜰폰·렌탈은 수익화 수단이고, 핵심 자산은 회원·데이터·추천 네트워크. 회원 100만 달성이 최우선.
1 · 핵심 성장 루프
회원확보→포인트적립→친구추천→응모권획득→경품참여→재방문→상품이용→추가보상↺
루프의 동력 = 포인트(적립 동기) + 응모권(경품 기대) + 추천(바이럴 계수). 상품이용(개통·렌탈 등)이 수익 + 추가보상으로 루프를 재점화.
2 · 시스템 모듈 구성
① 포인트적립·차감 원장(ledger) · 영구 누적
⑤ 등급Bronze~Diamond (누적 P)
⑦ AI 콘텐츠AI 상담 (리텐션) · 운세 V1.1 제외
⑨ 어뷰징 가드본인인증·중복차단·cap (필수)
⑨ 어뷰징 가드는 원본 기획서에 없었으나
전 모듈 공통 필수로 추가 (§15 참조). 기존
08 포인트+추천+돈지키미 문서와 규칙 정합 필요.
3 · MVP DB 스키마 (확정안 · 8테이블)
-- ① 회원 (PASS 본인인증 기반 1인1계정)
CREATE TABLE bongi_members (
id bigserial PK, phone text UNIQUE NOT NULL, name text,
ci text UNIQUE -- PASS CI = 중복가입 차단 키,
verified_at timestamptz -- PASS 인증시각 (NULL=미인증 → 보상 제외),
referral_code text UNIQUE -- 내 추천코드,
referrer_id bigint REFERENCES bongi_members(id) -- 나를 추천한 회원,
point_balance int DEFAULT 0 -- 표시용 캐시(원장 합계와 동기화),
created_at timestamptz DEFAULT now() );
-- ② 적립 정책 (어드민 관리 · 하드코딩 금지 NO_HARDCODE)
CREATE TABLE bongi_point_rules (
reason text PK -- signup·attendance·referral_signup·open_phone·internet·used_phone·rental·ticket_buy,
point int NOT NULL, daily_cap int, active boolean DEFAULT true );
-- ③ 포인트 원장 (단일 진실원천 · 잔액 = SUM(delta))
CREATE TABLE bongi_point_ledger (
id bigserial PK, member_id bigint NOT NULL REFERENCES bongi_members(id),
delta int NOT NULL -- +적립 / −사용(응모권구매·현금전환),
reason text, ref_type text, ref_id bigint,
device_fp text, ip text -- 어뷰징 추적, created_at timestamptz DEFAULT now() );
-- ④ 응모권 (월별 · 보유 = SUM(qty) WHERE period)
CREATE TABLE bongi_tickets (
id bigserial PK, member_id bigint NOT NULL REFERENCES bongi_members(id),
period text NOT NULL -- 'YYYYMM', qty int NOT NULL,
source text NOT NULL -- auto(기본1장)·buy(P구매)·referral, created_at timestamptz DEFAULT now() );
-- ⑤ 추천 (1인 1추천인 · PASS 인증 회원만)
CREATE TABLE bongi_referrals (
id bigserial PK, referrer_id bigint NOT NULL REFERENCES bongi_members(id),
referee_id bigint NOT NULL UNIQUE REFERENCES bongi_members(id),
status text DEFAULT 'joined' -- joined·rewarded, reward_point int, reward_ticket int,
created_at timestamptz DEFAULT now() );
-- ⑥ 앰배서더(추천왕) 월별 점수·랭킹
CREATE TABLE bongi_ambassador_score (
id bigserial PK, member_id bigint NOT NULL REFERENCES bongi_members(id),
period text NOT NULL, score int DEFAULT 0,
breakdown jsonb -- {referral_signup:n, open_phone:n,...}, rank int,
UNIQUE(member_id, period) );
-- ⑦ 경품 이벤트 (월 1회)
CREATE TABLE bongi_prize_events (
id bigserial PK, period text UNIQUE NOT NULL, budget int,
prizes jsonb -- [{rank:1,name:'골드바',count:1},...],
draw_at timestamptz, status text DEFAULT 'open' -- open·drawn·paid );
-- ⑧ 응모/당첨 (회원 1행 · 응모수 = 자동1+구매+추천)
CREATE TABLE bongi_prize_entries (
id bigserial PK, event_id bigint NOT NULL REFERENCES bongi_prize_events(id),
member_id bigint NOT NULL REFERENCES bongi_members(id),
ticket_qty int NOT NULL, won_rank int -- NULL=미당첨,
payout_status text -- pending·paid, tax_withheld int -- 제세공과금,
UNIQUE(event_id, member_id) );
핵심 설계: ① 포인트 잔액 = 원장(ledger) SUM (단일 balance만 두면 감사 불가) ② 적립값 = point_rules 어드민 관리(하드코딩 X) ③ PASS CI UNIQUE = 중복가입·self-referral 차단 ④ referee_id UNIQUE = 1인 1추천인 ⑤ 모든 적립에 device_fp·ip 기록.
V2+ 테이블(보류): bongi_member_tiers(등급) · bongi_ai_content_log(AI상담) · bongi_store_referral(판매점)
3-A · API 명세 (MVP)
회원 · 인증
| Method · Endpoint | 설명 |
| POST /api/m/signup | 가입 (추천코드 optional) → bongi_members, 추천 시 referrals 생성(보상은 PASS 인증 후) |
| POST /api/m/pass-verify | PASS 본인인증(ci·phone) → verified_at 세팅 · 가입 100P · 추천 보상 확정 지급 |
| GET /api/m/me | 내 정보(포인트 잔액·추천코드·이번달 응모수·추천왕 순위) |
포인트 · 응모권
| Method · Endpoint | 설명 |
| GET /api/m/points | 잔액 + 원장(적립/사용) 내역 |
| POST /api/m/points/spend | 포인트 사용 {reason, amount} (응모권 구매 등) → ledger −delta |
| GET /api/m/tickets?period= | 이번달 보유 응모권 (자동1 + 구매 + 추천) |
| POST /api/m/tickets/buy | {qty} → 1,000P/장 차감 후 tickets 발급 (source=buy) |
경품 · 추천 · 추천왕
| Method · Endpoint | 설명 |
| GET /api/m/referral | 내 추천코드·공유링크·실적(가입 n명·보상 내역) |
| GET /api/m/prize/current | 이번달 경품 이벤트·상품·내 응모수·추첨일 |
| GET /api/m/prize/result?period= | 추첨 결과·내 당첨 여부 |
| GET /api/m/ambassador/ranking?period= | 월간 추천왕 랭킹 |
| GET /api/m/ambassador/me | 내 점수·순위·breakdown |
어드민 · 배치(CRON) · 연동
| 트리거 | 처리 |
| POST /api/admin/prize/draw | 월간 추첨 실행 (응모수 가중 랜덤) → prize_entries.won_rank · 제세공과금 산정 |
| CRON 매월 1일 00:00 | ① 전월 응모권 추첨 마감 → 리셋 ② 전 회원 auto 1장 발급 ③ 추천왕 월 집계 마감·랭킹 확정·상금 |
| CRM webhook (상품이용) | 개통·인터넷·중고폰·렌탈 완료 → 포인트 적립 + 추천왕 점수 + 추천인 보상 (기존 CRM 연동) |
모든 적립 API는 verified_at(PASS 인증) 검증 + device_fp·ip 기록 + point_rules.daily_cap 체크(어뷰징).
3-B · 화면 와이어프레임 (MVP · 모바일)
[ 🏠 메인 / 홈 ]
┌─────────────────────────┐
│ 봉이 🔔 👤 Gold │
├─────────────────────────┤
│ 💎 내 포인트 12,400 P │
│ 🎟 이번달 응모권 8 장 │
│ 🏆 추천왕 내 순위 #23 │
├─────────────────────────┤
│ ┌─ 이번달 경품 ───────┐ │
│ │ 🥇골드바 🥈순금 … │ │
│ │ 추첨 6/30 · 응모 8장 │ │
│ └─────────────────────┘ │
│ [ 👥 친구 초대하기 ] │
│ [ 🎟 응모권 더 받기 ] │
└─────────────────────────┘
[ 👥 친구 초대 ]
┌─────────────────────────┐
│ ← 친구 초대 │
├─────────────────────────┤
│ 내 추천코드 BONGI-7X2K │
│ [ 링크 복사 ] [ 공유 ] │
├─────────────────────────┤
│ 초대 실적 │
│ 가입 완료(PASS) 12명 │
│ 받은 포인트 6,000 P │
│ 받은 응모권 240 장 │
├─────────────────────────┤
│ ⓘ 친구가 PASS 인증 가입 │
│ 해야 보상 지급 │
└─────────────────────────┘
[ 🎟 응모권 / 경품 ]
┌─────────────────────────┐
│ ← 이번달 경품 (6월) │
├─────────────────────────┤
│ 🥇 골드바 1명 │
│ 🥈 순금 1돈 9명 │
│ 🥉 네이버페이 30명 │
│ 🎁 상품권 60명 │
├─────────────────────────┤
│ 내 응모권 8장 │
│ ·자동 1 ·구매 5 ·추천 2 │
│ [ 1,000P로 응모권 구매 ] │
│ 추첨 6/30 유튜브 LIVE │
└─────────────────────────┘
[ 🏆 추천왕 랭킹 ]
┌─────────────────────────┐
│ ← 추천왕 (6월) │
├─────────────────────────┤
│ 1 김** 1,240점 순금10돈 │
│ 2 이** 980점 순금5돈 │
│ 3 박** 720점 순금3돈 │
│ … │
│ ▶ 23 나 310점 │
├─────────────────────────┤
│ 내 점수 상세 │
│ 추천가입12·개통3·중고1 │
└─────────────────────────┘
화면 5: 포인트 내역(잔액·적립/사용 리스트·응모권 구매·현금전환[추후]) · 화면 6: 가입/PASS 인증. 메인=홈, 하단 탭(홈·초대·경품·랭킹·내정보) 권장.
4 · 봉이 포인트 정책
활동 적립
| 활동 | P |
| 회원가입 | 100 |
| 출석체크 | 10 |
| AI 상담 | 20 |
| 후기 작성 | 100 |
| 친구 초대 (피추천인 가입) | 50 PASS |
※ 운세·사주·궁합 적립은 V1.1에서 제외(우선순위 보류).
상품 이용 적립
| 상품 | P |
| 휴대폰 개통 | 5,000 |
| 인터넷/IPTV 가입 | 5,000 |
| 알뜰폰 개통 | 2,000 |
| 중고폰 판매 | 2,000 |
| 렌탈 가입 | 3,000 |
✅ 친구초대 어뷰징 해소: 보상은 PASS 본인인증을 완료한 피추천인이 가입한 시점에만 지급(단순 공유·미인증 가입엔 지급 X). PASS 인증 = 실명·실휴대폰 1인1계정 → 가짜계정·self-referral 파밍 차단.
포인트 사용처 미정 확정 필요: 현재 정의된 사용처는 "응모권 교환(1,000P=1장)"뿐. 회원 자산이라면서 효용이 응모권뿐이면 매력↓ + 부채↑. → 사용처(상품 할인·페이백 전환·기프티콘 등)와 1P 가치, 소멸정책 정의 필요.
5 · 봉이 응모권
✅ 응모권 획득 = ① 기본 자동 1장(전 회원) ② 포인트 구매(1,000P=1장) ③ 친구초대 보상. 보유 응모권은 매월 말 그 달 추첨에 자동 응모 후 리셋(소멸 아님, "그 달 추첨에 사용"). 응모권이 많을수록 당첨확률↑. 포인트(영구) ↔ 응모권(매월 추첨 소진) 모순 아님.
6 · 추천인 시스템 (성장 핵심 엔진)
| 트리거 | 추천인 | 가입자 |
| 친구 가입 | 500P + 응모권 20장 | 100P + 응모권 5장 |
| 친구 5명 가입 | 추가 응모권 100장 누적/구간 모호 |
| 친구 10명 가입 | 추가 응모권 300장 |
| 친구 30명 가입 | 추가 응모권 1,000장 |
| 친구 휴대폰 개통 | 추천인 5,000P + 응모권 100장 |
| 친구 인터넷 가입 | 추천인 5,000P + 응모권 100장 |
| 친구 중고폰 판매 | 추천인 2,000P + 응모권 50장 |
✅ 추천 카운트·보상은 PASS 본인인증 완료 회원만 (미인증·중복 휴대폰 제외) → 가짜계정·self-referral 차단.
⚠️ 마일스톤(5/10/30명)이 누적 지급인지 구간 지급인지 모호 (5명+추가5명=10명일 때 100+300 중복?). → 룰 명확화 필요.
7 · 앰배서더 (추천왕)
점수 산정
| 활동 | 점 |
| 추천 가입 | 1 |
| 휴대폰 개통 | 20 |
| 인터넷 가입 | 20 |
| 중고폰 판매 | 10 |
| 렌탈 가입 | 10 |
상금
| 순위 | 상금 |
| 월 1등 | 순금 10돈 |
| 2등 | 순금 5돈 |
| 3등 | 순금 3돈 |
| 4~10등 | 네이버페이 10만원 |
| 11~30등 | 네이버페이 5만원 |
| 연간 추천왕 | 현금 500만원 또는 골드바 |
⚠️ 응모권 트랙(§6)과 앰배서더 점수 트랙(§7)이 병존 — 같은 추천 행동에 응모권 + 점수 이중 부여. 관계·중복 명확화 필요. 상금은 제세공과금(기타소득 22%) 처리 명시(§15).
8 · 회원 등급
| 등급 | 조건 (누적 P) | 혜택 |
| Bronze | 기본 | 미정 |
| Silver | 10,000P | 미정 |
| Gold | 50,000P | 미정 |
| Platinum | 100,000P | 미정 |
| Diamond | 500,000P | 미정 |
⚠️ 등급별 혜택이 정의 안 됨. 등급만 있고 차등 혜택(적립 배수·응모권 보너스·전용 경품 등)이 없으면 동기 부여 X. 확정 필요
9 · 월간 경품 이벤트
| 등수 | 상품 | 인원 |
| 1등 | 순금 골드바 | 1 |
| 2등 | 순금 1돈 | 9 |
| 3등 | 네이버페이 | 30 |
| 4등 | 상품권 | 60 |
⚠️ 경품 가액 합이 월 예산 1,000만원 + 경품규제 한도 내인지 산정 필요. 라이브 당첨자 인증 = 개인정보 노출 동의 필요(§15).
10 · 리텐션 콘텐츠 (운세 제외 — V1.1)
매일출석체크 · AI 상담 (고민·생활 문의)
매월경품 추첨 · 추천왕 발표 · 당첨자 발표
※ 운세·사주·궁합은 V1.1에서 제외(우선순위 보류). 추후 도입 시 생년월일(민감정보) PIPA 동의 별도 검토.
⚠️ AI 상담에 매일 P 지급 → LLM 호출비 + 봇 파밍 우려. 일일 cap·본인인증·캐싱 필요.
11 · 판매점 연동 & 메인 화면
판매점 연동
판매점 추천코드(회원·개통·중고폰 추천) · 전국/지역/월간 랭킹
메인 화면 구성
내 포인트 · 내 응모권 · 내 순위 · 추천왕 랭킹 · 친구 초대 · 출석체크
13 · KPI
⚠️ 허수 100만 방지를 위해 회원 質 지표(활성 회원당 개통 전환율, 추천→가입→상품이용 퍼널, CAC 회수기간) 추가 권장.
14 · 개발 Phase (스프린트)
| Phase | 범위 | 비고 |
| P1 기반 | 회원·본인인증 · 포인트 원장 · 적립 룰 엔진 · 어뷰징 가드 | 가드 없이 적립 오픈 금지 |
| P2 추천 | 추천코드 · 가입/상품 추천 보상 · self-referral 차단 | 바이럴 핵심 |
| P3 응모권·경품 | P→응모권 · 월간 경품 이벤트 · 추첨·당첨·지급·세금 | 경품규제 검토 선행 |
| P4 앰배서더·등급 | 추천왕 점수·랭킹·상금 · 등급 혜택 | 점수↔응모권 정합 |
| P5 AI 콘텐츠 | AI 상담 · 일일 cap (운세 V1.1 제외) | LLM 비용 |
| P6 판매점·메인 | 판매점 추천·랭킹 · 메인 대시보드 | |
⚠️ 개발 범위 주의: 이건 고객용 앱/플랫폼(현 개발범위는 CRM 어드민 위주). 별도 고객 앱 구축 = 큰 신규 범위 → 일정·인력 별도 산정 필요.
15 · ⚠️ 리스크 & 법률 검토 (출시 전 필수)
✅ V1.1 해소: 단통법(폐지) · 응모권 매월리셋 모순(자동응모 후 리셋 = 정상) · 운세 PIPA(콘텐츠 제외).
🔴 치명적
| # | 리스크 | 대응 |
| 1 | 어뷰징 — 가짜계정·공유파밍·봇 적립 | PASS 본인인증 회원만 보상(1차 방어 ✅) + self-referral 차단 · device/IP fp · 일일 cap (P1) |
| 2 | 경품규제 (공정위 경품고시) — 경품가액·총액 한도 | 월 1,000만+추천왕 순금+연 500만 한도 산정·준수 |
| 3 | 전자금융거래법 — 포인트 현금성(네이버페이/현금 교환) 시 선불전자지급수단 규제 | 사용처 한정 또는 소멸정책. 현금성 교환 주의 |
🟡 중요
| 4 | 포인트 사용처 부재 (응모권뿐) → 효용↓·부채↑ |
| 5 | 추천 마일스톤 누적/구간 모호 (중복지급 위험) |
| 6 | 등급별 혜택 미정 (동기부여 X) |
| 7 | 응모권 트랙 ↔ 앰배서더 점수 트랙 관계·중복 |
| 8 | 제세공과금 — 경품·상금(순금·현금·페이) 5만원 초과 = 기타소득 22% 원천징수. 부담주체·인증 절차 명시 |
| 9 | PIPA — AI 상담 데이터 수집 동의·보관 (운세 도입 시 생년월일 별도 검토) |
법률 항목(2·3·8·9)은 변호사·세무사 검토 권장 (본 문서는 개발 관점 정리이며 법률 자문 아님).
16 · 확정 필요 항목 (Open Items)
| 항목 | 현재 | 필요 |
| 포인트 사용처·1P 가치·소멸정책 | 응모권 교환만 | 사용처·가치·소멸 정의 |
| 친구 초대 50P 지급 시점 | 해소 PASS 인증 가입 시 | — |
| 추천 마일스톤 누적/구간 | 모호 | 지급 룰 확정 |
| 등급별 혜택 | 공란 | 차등 혜택 정의 |
| 응모권↔앰배서더 점수 관계 | 병존 | 통합/분리 결정 |
| 경품 예산 내 상금 배분 검증 | — | 가액 산정 |
| 세금(제세공과금) 부담·절차 | 없음 | 명시 |
| 고객 앱 구축 범위·일정 | — | 별도 산정 |
← 마스터맵으로