尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
포켓몬 태그스타 비공식 팬사이트. 태그 도감과 중고 시세, 트레이드 손익 계산기, 내 주변 설치 매장 지도를 제공합니다. 비공식 팬사이트입니다. 포켓몬 및 포켓몬 태그스타의 권리는 각 권리자에게 있습니다. 시세는 중고 거래 매물을 모아 추정한 참고값이며 실제 거래가를 보장하지 않습니다. public/data 가 비어 있어도 화면은 뜨지만 내용이 없습니다. 처음 받았다면 npm run scrape 를 먼저 돌리세요. public/data/*.json 은 https:// /data/tags.json 처럼 그대로 노출됩니다. 나중에 네이티브 앱을 붙일 때 서버를 새로 만들지 않고 이 URL을 그대로 쓰면 됩니다. 매일 06:00 KST 에 GitHub Actions 가 공식 사이트와 중고 시세를 다시 수집해 커밋합니다. 수집이 실패해도 기존 데이터는 그대로 둡니다. 수집 결과가 0건이거나 직전 대비 20% 이상 줄면 파서가 깨진 것으로 보고 쓰기를 거부합니다. 이 장치가 없으면 공식 사이트 개편 하루 만에 도감이 통째로 빈 화면이 됩니다.檢視完整 README ↗
포켓몬 태그스타 비공식 팬사이트. 태그 도감과 중고 시세, 트레이드 손익 계산기, 내 주변 설치 매장 지도를 제공합니다.
비공식 팬사이트입니다. 포켓몬 및 포켓몬 태그스타의 권리는 각 권리자에게 있습니다. 시세는 중고 거래 매물을 모아 추정한 참고값이며 실제 거래가를 보장하지 않습니다.
npm install
npm run scrape # 공식 사이트·시세 수집 → public/data/*.json, public/tags/*.png
npm run dev # http://localhost:3000
public/data 가 비어 있어도 화면은 뜨지만 내용이 없습니다. 처음 받았다면 npm run scrape 를 먼저 돌리세요.
| 명령 | 설명 |
|---|---|
npm run scrape | 전체 수집 |
npm run scrape -- --no-prices | 시세를 건너뛰고 태그·매장만 (직전 시세를 재사용) |
npm run scrape -- --no-images | 이미지 내려받기를 건너뜀 (직전 로컬 경로를 이어붙임) |
npm run build-stats | data/tag-stats.jsonl → public/data/stats.json (탄 추가 시에만) |
npm test | 파서·시세 필터·점수·트레이드 판정·배틀 엔진 테스트 |
npm run verify-seo | 빌드 산출물의 전체 대표 주소·색인 허용·구조화 데이터·매장 주소 검증 |
검색 설정을 수정한 뒤에는 NEXT_PUBLIC_SITE_URL=https://pokemon-tag-star.vercel.app npm run build로
실제 배포 도메인을 지정해 빌드하고 npm run verify-seo를 실행합니다. 각 페이지는 자신의 URL을
canonical로 지정해야 합니다. 공통 레이아웃에 홈페이지 canonical을 두면 하위 페이지까지
홈페이지의 대체 페이지로 전달됩니다.
검색 크롤러는 robots.txt에서 허용합니다. 별도의 AI 전용 파일은 노출을 보장하지 않습니다.
태그·매장 정보의 출처와 실제 데이터 갱신 시각을 표시하며, 시세는 판매 매물 기반 참고값과
등급 기반 추정치를 구분합니다. 실제 판매 제안이 아니므로 구조화 데이터에 가격을 Offer로 넣지 않습니다.
scripts/scrape.ts 수집 오케스트레이터 (네트워크·파일쓰기·안전장치)
src/lib/
parse-official.ts 공식 사이트 HTML 파서
parse-prices.ts 중고 매물 필터와 중앙값
rarity.ts 등급 체계, 표본 하한, 가치 상한
scoring.ts 거래점수(TP) 확정
trade.ts 트레이드 판정·사다리 경고·추가 추천
geo.ts 거리 계산
battle/ 배틀 엔진 (순수 함수, 난수 주입)
public/data/*.json 화면이 읽는 데이터 (그대로 공개 API 로도 쓰인다)
public/data/*.json 은 https://<도메인>/data/tags.json 처럼 그대로 노출됩니다.
나중에 네이티브 앱을 붙일 때 서버를 새로 만들지 않고 이 URL을 그대로 쓰면 됩니다.
매일 06:00 KST 에 GitHub Actions 가 공식 사이트와 중고 시세를 다시 수집해 커밋합니다.
수집이 실패해도 기존 데이터는 그대로 둡니다. 수집 결과가 0건이거나 직전 대비 20% 이상 줄면 파서가 깨진 것으로 보고 쓰기를 거부합니다. 이 장치가 없으면 공식 사이트 개편 하루 만에 도감이 통째로 빈 화면이 됩니다.
가치가 비선형이라 원화를 그대로 더하면 거짓말이 됩니다. ★4 이하는 사실상 0이고 ★6 안에서도 편차가 몇 배로 벌어지기 때문입니다.
등급 기본값 × 인기 가중치 로 추정하고 화면에 "추정치" 표시합계 TP 가 같아도 ★6은 ★5 뭉치로 바뀌지 않습니다. 계산기는 이런 조합을 따로 경고합니다. 수량으로 메울 수 없는 구간을 알려주는 것이 이 계산기의 존재 이유입니다.
Firebase(Google Analytics 4)로 방문자를 측정합니다. 웹에서 Firebase Analytics 는 GA4 속성에 그대로 쌓이므로, 지표는 Firebase 콘솔과 GA4 콘솔 어느 쪽에서도 같은 것을 봅니다. 네이티브 앱을 붙일 때 같은 프로젝트에 앱 스트림만 더하면 웹과 앱을 한 속성에서 봅니다.
src/instrumentation-client.ts 앱 코드보다 먼저 실행돼 firebase 를 띄우고 전송 경로를 꽂는다
src/lib/analytics.ts 화면이 부르는 얇은 층 (버퍼 · 이벤트 정의 · 중복 방지)
src/components/TrackTagView.tsx 정적 상세 페이지에서 열람을 찍기 위한 클라이언트 경계
G-...)가 생깁니다..env.example 참고).
NEXT_PUBLIC_ 값은 빌드 때 번들에 박히므로, 넣은 뒤 재배포해야 적용됩니다.sitemap.xml 을 제출합니다. 검색 유입 키워드는
GA4 가 보여주지 않습니다. SEO 로 사람이 들어오는 사이트라 사실상 여기가 본편입니다.| 이벤트 | 언제 | 파라미터 |
|---|---|---|
tag_view | 태그 상세 페이지 열람 | tag_no, rarity |
trade_calculate | 트레이드 양쪽이 채워져 판정이 나올 때 | mine_count, theirs_count, verdict |
map_locate | 내 주변 찾기 버튼의 위치 권한 결과 | result (ready/denied/unsupported) |
트레이드는 태그를 담을 때마다 다시 계산되므로, 구성이 실제로 바뀐 순간에만 한 번 보냅니다. 위치는 허용 여부만 남기고 좌표는 전송하지 않습니다.
환경변수가 하나라도 비면 분석은 초기화되지 않습니다. 로컬 개발과 테스트가 통계를 오염시키지 않는 것은 이 때문입니다. 광고차단기에 막히거나 쿠키가 꺼진 브라우저에서도 이벤트는 버려지기만 하고 화면은 그대로 동작합니다.
수집 항목과 거부 방법은 /privacy 페이지에 적어 두었고 푸터에서 연결됩니다.
/play)보유 태그 3장으로 보스에 도전하는 연습 배틀입니다. 실물 기계의 「배틀로 겟」 모드 순서를 그대로 따릅니다 — 상대 등장(가운데가 보스) → 태그 세팅 → 턴마다 상대 공개 → 내 태그 선택 → 선공 찬스 → 다이맥스·Z기술 찬스 → 공격 룰렛 → 버튼 연타 → 3턴 뒤 겟 타임.
전투 수치는 태그 이미지 안에만 있습니다. 공식 상세 API 는 이미지 URL 만 돌려주고,
나무위키 표는 일본판 번호라 한국판 no 와 1:1 로 붙지 않습니다(피카츄만 4장입니다).
그래서 뒷면(스탯·기술)과 앞면(에너지)을 사람이 읽어 data/tag-stats.jsonl 에 적어두고,
npm run build-stats 가 검증해서 public/data/stats.json 으로 옮깁니다.
수집이 매일 도는 npm run scrape 와는 분리돼 있습니다 — 탄이 바뀔 때만 다시 읽으면 됩니다.
추정이 섞인 값은 한곳에 모아 두고 주석에 근거를 남겼습니다.
| 값 | 출처 |
|---|---|
데미지 위력 × (공격 + 룰렛) ÷ 방어 × 상성 | 실물 관측 8건에 맞춘 역산식 (최악오차 13%) |
| 다이맥스 배율 1.051 ~ 1.154 | 실물 관측 5건 |
| 급소 ×2.0 | 실물 관측. 발동 확률은 미관측이라 본가 1/16 |
| 공격 룰렛 휠 | 태그에 인쇄돼 있지 않음. 앞면 에너지로 추정 (관측 2건에 맞춤) |
| 기술 위력·물리/특수 | 본가 기준 (src/lib/battle/moves.ts) |