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%

# Cardboard Memories connector (cardboard-memories)

  • Source: https://www.cardboardmemories.ca · 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)

New Brunswick comic & sports-card shop. Shopify storefront; hockey/football/baseball boxes with UPC-like SKUs, Yu-Gi-Oh! singles, comics by publisher, Funko.

# Collections → taxonomy

collection handle category brand / franchise / series
hockey-cards hockey_cards —
football-cards-1 football_cards —
baseball-cards baseball_cards —
basketball-cards basketball_cards —
sports-cards sports_cards —
upper-deck-authenticated sports_memorabilia Upper Deck Authenticated
yu-gi-oh-singles yugioh Yu-Gi-Oh!
pokemon pokemon Pokémon
pokemon-booster-boxes pokemon Pokémon
magic-the-gathering magic_the_gathering Magic: The Gathering
magic-the-gathering-boxes magic_the_gathering Magic: The Gathering
funko-pop funko Funko
comic-books comics —
dc-comics dc_comics DC

Rules (first match wins, applied to "title | product_type | tags | collection"):

  • ^(?=[\s\S]*\bhockey\b)[\s\S]*\| sports-cards$ → hockey_cards
  • ^(?=[\s\S]*\bbaseball\b)[\s\S]*\| sports-cards$ → baseball_cards
  • ^(?=[\s\S]*\bbasketball\b)[\s\S]*\| sports-cards$ → basketball_cards
  • ^(?=[\s\S]*\bfootball\b)[\s\S]*\| sports-cards$ → football_cards
  • ^(?=[\s\S]*\b(soccer|premier league|uefa|fifa)\b)[\s\S]*\| sports-cards$ → soccer_cards
  • ^(?=[\s\S]*\b(formula 1|formula one|\bf1\b)\b)[\s\S]*\| sports-cards$ → f1_cards
  • ^(?=[\s\S]*\b(marvel|spider-?man|x-men|avengers|wolverine|hulk|deadpool|iron man|captain america|fantastic four|daredevil|venom|punisher)\b)[\s\S]*\| (comic-books)$ → marvel_comics (franchise Marvel)
  • ^(?=[\s\S]*\b(dc comics|batman|superman|wonder woman|justice league|the flash|green lantern|aquaman|detective comics|action comics|harley quinn|joker|nightwing|swamp thing)\b)[\s\S]*\| (comic-books)$ → dc_comics (franchise DC)

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|bags? (and|&) boards|\bmylar|comic bags|backing boards|magnetic holder|one-touch|\bpaint

# 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: RPG books, miniatures, paints, supplies (binders, sleeves, deck boxes), trade paperbacks.

# Fixtures & tests

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