FameTech
Buy data bundles, airtime, mashup, WAEC Results Checkers, AFA Registrations & access our Developer API. Fast, secure digital services in Ghana.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證kevin's website
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Price it. Stack it. Flip it.
One Piece Card Game prices, sets and sealed products, updated daily from TCGplayer. Search any card or sealed product, see what a buyer should offer, track price history, keep a wishlist, and run a portfolio of what you own.
| Page | What it does |
|---|---|
| Home | Landing page: the slogan, what the site does, two ways in (Products and Portfolio) and three headline numbers. Search is the button in the top bar |
| Products | Grid or list, sort, filters (set, language, product type, rarity, price). Everything stays in the address bar |
Product (/product?id=...) | One page for every card and sealed product: prices, price history chart, other printings, wishlist, add to portfolio |
| Sets and set pages | Every release, newest first, with scoped search and set analytics |
| Wishlist | Saved on this device, one entry per product variant |
| Portfolio | Holdings with quantities and what you paid, total value, daily change, gain or loss, a value graph, breakdown, most valuable, market trends, backup and restore |
Wishlist and portfolio are saved in the browser until accounts exist (Google sign-in is the next step).
tcgcsv.com is a free daily copy of TCGplayer's catalog and prices (One Piece is category 68). It updates once a day, around 20:00 UTC. We never scrape tcgplayer.com.
Limits worth knowing:
.github/workflows/nightly-update.yml) runs every day at 21:30 UTC. It runs update_prices.py, which downloads everything and saves:
data/catalog.json: every product with today's pricesdata/history/<date>.json: that day's prices, kept foreverdata/sets.json: every set with its release datedata/rates.json: exchange ratesnext build writes out/). Pages read the saved files at build time:
/data/index.json: the catalog the browser downloads once and searches locally/data/h/00.json ... 63.json: price history in 64 small files, so a page loads only the slice it needsnpm install
npm run dev # http://localhost:3000
npm test # portfolio maths (Node's built-in test runner)
npx tsc --noEmit # type check
npm run build # writes out/
Pushing to any branch runs the Check workflow (Python checks, tests, type check, build). You can run Nightly price update by hand from the Actions tab on any branch.
update_prices.py: downloads prices; names sealed product types and languageslib/portfolio.ts + lib/portfolio.test.ts: portfolio maths, testedlib/data.ts: build-time data layer (computed once per build)lib/brand.ts: the site's name, in one place. Saved data keeps the old vendr. key prefix in the browser on purpose, so a rename never empties anyone's wishlist or portfoliocomponents/logo.tsx: the logo, drawn as vector paths (Outfit Bold letters, with the M as a rising price line). It is artwork, so a rename means redrawing it. app/icon.svg is the matching tab iconcomponents/, app/: the pagesapp/globals.css, app/portfolio.css: the design system (tokens at the top: colours, the one accent, corner radius, glass)components/flow.tsx: the arch of light behind the whole site, drawn with WebGL. It barely moves, takes its colours from the tokens, stops for reduced motion, and falls back to a still glow where WebGL isn't availableEdit BUYER_MIN_PERCENT and BUYER_MAX_PERCENT in lib/data.ts, then push.
Some parentheses in TCGplayer names are part of a character's name, like Mr.3 (Galdino).
These are listed in NAME_LABELS in update_prices.py. Add new ones there.