SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%

# Face to Face Games connector (face-to-face-games)

  • Source: https://www.facetofacegames.com · dealer · CA · CAD · Shopify storefront
  • Acquisition: public /collections/<handle>/products.json?limit=250&page=N (shared ShopifyStoreConnector adapter wrapped by MarketPinnedShopifyConnector, which adds a localization=CA cookie so Shopify Markets never geo-converts prices; no store-specific code)
  • Records: listing (asking prices, one per variant; out-of-stock variants → ended)
  • Refresh: every 12 h (ACTIVE→NORMAL boundary, large catalogue) · history: none (listings only)

Major Canadian MTG/Pokémon/Lorcana retailer (Toronto + Montréal). Shopify storefront with clean per-game singles/sealed/high-end collections; titles embed number and set code.

# Collections → taxonomy

collection handle category brand / franchise / series
magic-the-gathering-singles magic_the_gathering Magic: The Gathering
magic-the-gathering-high-end magic_the_gathering Magic: The Gathering
magic-the-gathering-sealed magic_the_gathering Magic: The Gathering
pokemon-singles pokemon Pokémon
pokemon-high-end pokemon Pokémon
pokemon-sealed pokemon Pokémon
lorcana-singles disney_lorcana Disney Lorcana
lorcana-sealed disney_lorcana Disney Lorcana
yu-gi-oh-premium yugioh Yu-Gi-Oh!
one-piece one_piece_card_game One Piece
star-wars-sealed star_wars_tcg Star Wars Unlimited
riftbound-singles other_tcg Riftbound

Excluded (regex): gift card|sleeves?|deck box|binder|playmat|toploader|top loader|storage box|dice|tokens? only|bundle of|mystery|buylist|submission|event ticket|\bentry\b|tournament|store credit|pre-?release event|supplies|card savers?|\brepack|bulk lot|\blot of\b|\bpaints?\b|primer|brushes|online (pack|code)|digital code|code card|unused digital|ptcgo|ptcg live

Title pattern: ^(?<name>.+?) - (?<number>[^\s\[]+) - [^\[]*\[(?<set>[a-z0-9]+)(?:-[^\]]*)?\] (name / set / number)

# Access & compliance

See accessNotes in meta.json: robots.txt verified 2026-09-08 (standard Shopify rules, products.json paths allowed), honest UA, 1 req / 1.5 s, listings only, no personal data. Not fetched: events/WPN tickets, supplies (sleeves, deck boxes, playmats), the giant "single"/"archive"/flash-sale umbrella collections (duplicates of the per-game ones).

# Fixtures & tests

data/fixtures/face-to-face-games/ — live captures (pnpm tsx connectors/api/_g3-shops-na-lib/capture.ts face-to-face-games), trimmed single-product payloads incl. a sold-out variant and a graded item. pnpm vitest run connectors/api/face-to-face-games · live probe: pnpm tsx connectors/api/_g3-shops-na-lib/probe.ts face-to-face-games.