API /api/share 경유
바이럴 viral/ 페이지
직접 navigator.share
🔗 /api/share 기반 공유 (OG 메타 + 리다이렉트)
🏪 가게 공유 API
js/store-detail.js:979
지도 탭
→ 마커 클릭
→ 가게 상세 바텀시트
→ 📤 공유 버튼
가게 이름, 주소를 OG 메타로 생성. KOPIS 공연처럼 상세 바이럴 페이지 있음 (가격 제보 폼 포함).
리다이렉트: /?store_key=... (가게 딥링크)
https://yeogi.xyz/api/share?type=store&t=가게명&d=주소&ref=uid
🔥 트렌딩 아이템 공유 API
trending.js:829
트렌딩 탭
→ 아이템 카드
→ 📤 공유 버튼
트렌딩 아이템 이름 + 판매처 수를 OG로 생성. 바이럴 페이지에서 TOP3 + 프리미엄 잠금 해제 가능.
리다이렉트: /?tab=trending&trendItem=아이템명
https://yeogi.xyz/api/share?type=trending&t=아이템명&ref=uid
🎭 공연 공유 API
js/performance-feed.js:294
홈 탭
→ 🎭 공연·축제 섹션
→ 공연 카드
→ 📤 버튼
KOPIS API에서 공연 상세 조회 → 포스터, 장르, 일정, 출연진, 가격 등 풀 바이럴 페이지 생성.
프리미엄 잠금: 출연진·가격·할인팁은 3회 공유 후 해제.
리다이렉트 (id 없을 때): /?tab=home
https://yeogi.xyz/api/share?type=performance&t=공연명&d=장소&ref=uid
https://yeogi.xyz/api/share?type=performance&id=KOPIS_ID&t=공연명&d=장소&ref=uid
🎪 관광·축제 공유 API
js/tourism-feed.js:231
홈 탭
→ 🎪 행사·축제 섹션
→ 카드
→ 📤 버튼
관광/축제 이름 + 주소를 OG로 생성. 별도 바이럴 페이지 없이 OG + 리다이렉트.
리다이렉트: /?tab=home
https://yeogi.xyz/api/share?type=tourism&t=축제명&d=주소&ref=uid
🚂 열차 시간표 공유 API
js/train-feed.js:407
홈 탭
→ 🚂 열차 시간표 섹션
→ 📤 버튼
출발역→도착역 제목을 OG로 생성. 별도 바이럴 페이지 없이 리다이렉트.
리다이렉트: /?tab=home
https://yeogi.xyz/api/share?type=train&t=서울→부산&ref=uid
📢 동네 제보 공유 API
js/local-report.js:319
홈 탭
→ 📢 동네 제보 섹션
→ 카드
→ 📤 공유
제보 제목 + 위치를 OG로 생성. 리다이렉트.
리다이렉트: /?tab=home
https://yeogi.xyz/api/share?type=report&t=제보제목&d=위치&ref=uid
👤 프로필 공유 API
js/my-page.js:7
마이 탭
→ 프로필 카드
→ 📤 공유 버튼
"{이름}님이 여기야에서 친구하자!" OG 생성. 리다이렉트.
리다이렉트: /
https://yeogi.xyz/api/share?type=profile&t=닉네임&ref=uid
💬 커뮤니티 글 공유 API
community.js:4177
커뮤니티 탭
→ 게시글
→ 📤 공유 버튼
글 제목 + 본문 미리보기를 OG로 생성. DB에서 조회하여 상세 바이럴 페이지 렌더링.
리다이렉트: /?comm=커뮤니티ID&post=글ID
https://yeogi.xyz/api/share?type=post&id=글ID&t=제목
🔥 바이럴 페이지 (viral/)
🪙 코인 소개 바이럴
js/coin.js:174
마이 탭
→ 🪙 코인 섹션
→ 공유하기
코인 시스템 소개 + 레퍼럴 링크. 공유할 때마다 코인 적립.
https://yeogi.xyz/viral/viral.html?ref=uid
🍪 두바이 쫀득쿠키 바이럴
두쫀쿠 28곳 가격비교 지도. 독립 바이럴 페이지.
https://yeogi.xyz/viral/dubai-cookie.html
🪙 코인 기능 소개 바이럴
코인으로 할 수 있는 것들 소개 페이지.
https://yeogi.xyz/viral/coin-features.html
👤 프로필 페이지 바이럴
사용자 프로필 카드 + 초대 링크.
https://yeogi.xyz/viral/profile.html?id=uid
☕ 사장님용 (카페) 바이럴
카페/음식점 사장님 가입 유도 페이지.
https://yeogi.xyz/viral/for-biz-cafe.html
📚 과외쌤 프로필 바이럴
js/tutor.js:289
커뮤니티 탭
→ 과외쌤 섹션
→ 📤 공유
과외쌤 이름, 과목, 가격, 지역 포함 프로필 공유.
https://yeogi.xyz/viral/tutor.html?id=ID&name=이름&sub=과목&price=가격®ion=지역&ref=uid
🧪 테스터 모집 바이럴
Play Store 클로즈드 테스팅 참여 안내 3단계 가이드.
https://yeogi.xyz/viral/tester.html
💬 커뮤니티 내 직접 공유 (navigator.share)
🏘️ 커뮤니티 초대 직접
community.js:4158
커뮤니티 탭
→ ⚙️ 설정
→ 📤 초대하기
https://yeogi.xyz/pages/invite.html?comm=커뮤니티ID
📋 기능 공유 직접
community.js:4113
커뮤니티 탭
→ 📖 가이드
→ 기능 카드
→ 📤 공유
커뮤니티 기능별 소개 텍스트 + 초대 링크 공유.
🔥 트렌딩 전체 공유 직접
trending.js:925
트렌딩 탭
→ 상단 공유 버튼
지역 전체 인기 아이템 목록 공유. /api/share 미사용.
https://yeogi.xyz/?tab=trending
📜 레거시 공유 템플릿 (share-templates.js)
js/share-templates.js에 viral/ 페이지 직접 URL로 공유하는 템플릿이 있음.
현재 /api/share 패턴으로 마이그레이션 완료된 것도 있고, 아직 레거시로 남은 것도 있음:
| 타입 | URL 패턴 | 상태 |
| store | viral/store.html?store=... | ⚠️ 레거시 |
| event | viral/event.html?id=... | ⚠️ 레거시 |
| train | viral/train.html?from=...&to=... | ⚠️ 레거시 |
| bus | viral/bus.html?from=...&to=... | ⚠️ 레거시 |
| report | viral/report.html?id=... | ⚠️ 레거시 |
| profile | viral/profile.html?id=... | 사용 중 |
| biz | viral/for-biz.html?cat=... | 사용 중 |
📊 전체 요약
| 공유 타입 | 탭 → 경로 | URL 패턴 | 바이럴 페이지 | 리다이렉트 |
| 🏪 store | 지도 → 가게상세 → 📤 | /api/share?type=store | ✅ 상세 | /?store_key= |
| 🔥 trending | 트렌딩 → 아이템 → 📤 | /api/share?type=trending | ✅ 상세 | /?tab=trending |
| 🎭 performance | 홈 → 공연 → 📤 | /api/share?type=performance | ✅ KOPIS | /?tab=home |
| 💬 post | 커뮤니티 → 글 → 📤 | /api/share?type=post&id= | ✅ DB조회 | /?comm=&post= |
| 🎪 tourism | 홈 → 축제 → 📤 | /api/share?type=tourism | ❌ OG만 | /?tab=home |
| 🚂 train | 홈 → 열차 → 📤 | /api/share?type=train | ❌ OG만 | /?tab=home |
| 📢 report | 홈 → 제보 → 📤 | /api/share?type=report | ❌ OG만 | /?tab=home |
| 👤 profile | 마이 → 프로필 → 📤 | /api/share?type=profile | ❌ OG만 | / |
| 🪙 coin | 마이 → 코인 → 공유 | viral/viral.html?ref= | ✅ 독립 | — |
| 📚 tutor | 커뮤니티 → 과외 → 📤 | viral/tutor.html?id= | ✅ 독립 | — |
| 🏘️ invite | 커뮤니티 → 초대 | pages/invite.html?comm= | ✅ 독립 | — |
📈 레퍼럴 추적 (ref= 파라미터)
모든 /api/share URL에 &ref=uid 파라미터 포함.
공유한 사람의 user_id를 추적하여 코인 적립에 사용.
코인 적립 흐름:
1. 사용자가 📤 버튼 클릭 → navigator.share 또는 클립보드 복사
2. CoinSystem.incrementShare() 호출 → localStorage에 공유 횟수 +1
3. 일정 횟수 달성 시 코인 적립 → DB profiles.coins 업데이트
바이럴 잠금 해제:
performance, store, trending 바이럴 페이지에서 프리미엄 정보는 3회 공유 후 해제.
localStorage에 yeogi_unlock_{pageId}로 카운트 저장.