尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Card price tracker for Pokemon/sports collectibles (Next.js + Supabase)
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗เว็บแอปติดตามราคาการ์ดสะสม (Pokémon / Sports) — Next.js (App Router) + Tailwind CSS + Supabase
price_history จะโชว์ "ยังไม่มีราคา" แทนเลข 0แอปนี้ไม่ดึงราคาจาก SNKRDUNK เอง — เป็นแค่หน้าจอ "อ่าน" ราคาที่มีอยู่ใน Supabase มาโชว์ ราคาจะถูกเติมเข้ามาจากภายนอกผ่าน Supabase client โดยตรง หรือผ่าน POST /api/update-price
ดู supabase/schema.sql — รันไฟล์นี้ทั้งไฟล์ใน Supabase SQL editor ของโปรเจกต์ใหม่ครั้งเดียว จะได้ตาราง cards, price_history, RLS policy (เปิดอ่าน/เขียนทั้งหมด เพราะเป็นแอปส่วนตัวไม่มีระบบ login), storage bucket card-images พร้อม seed ข้อมูลการ์ด PSA10 เริ่มต้น 18 ใบ
cards| column | type | note |
|---|---|---|
| id | uuid | primary key |
| name | text | ชื่อที่เรียกเอง |
| grade | text | Raw / PSA9 / PSA10 ฯลฯ |
| cost_thb | numeric | ราคาซื้อ (บาท), null สำหรับ wishlist |
| snkrdunk_url | text | |
| image_url | text | auto จาก SNKRDUNK (เติมทีหลังโดยกระบวนการภายนอก) |
| custom_image_url | text | รูปที่อัปโหลดเอง |
| is_wishlist | boolean | |
| created_at | timestamptz |
price_history| column | type | note |
|---|---|---|
| id | uuid | primary key |
| card_id | uuid | FK → cards.id |
| market_price_jpy | numeric | |
| market_price_thb | numeric | |
| exchange_rate | numeric | |
| fetched_at | timestamptz | เก็บทุกครั้งที่มีราคาใหม่ ไม่เขียนทับของเก่า |
สองทางเลือก:
await supabase.from('price_history').insert({
card_id, market_price_jpy, market_price_thb, exchange_rate,
})
POST https://<your-deployment>/api/update-price
Content-Type: application/json
{ "card_id": "...", "market_price_jpy": 12345, "exchange_rate": 0.24 }
market_price_thb จะถูกคำนวณอัตโนมัติจาก market_price_jpy * exchange_rate ถ้าไม่ได้ส่งมาตรงๆต้องมี Node.js 18+
npm install
cp .env.example .env.local # แล้วใส่ค่า Supabase project ของคุณ
npm run dev
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY (สำหรับ /api/update-price, optional — ถ้าไม่ตั้งจะ fallback ไปใช้ anon key)ดู browser-extension/README.md — เป็น Chrome extension ที่ให้ปุ่ม "ดึงราคาใหม่" / "ดึงราคาทั้งหมด" บนเว็บนี้ทำงานได้จริง โหลดแบบ unpacked ผ่าน chrome://extensions (ต้องทำใหม่ทุกเครื่องที่จะใช้ปุ่มนี้ ไม่ได้ติดมากับ git clone)