Launch pipeline
TCG StoreFront Roadmap
- Now
Now
To do
7πΌοΈ Platform sealed-product image deposit
Central, platform-managed image library for sealed product: WE upload the images once into a shared deposit, and stores can opt to use them in the "add image" feature OR upload their own. Needs: shared storage + a picker in ProductForm + simple admin CRUD so the deposit is quickly updatable. Today only per-store upload to the `store-assets` bucket exists (ProductForm.tsx / server/products.ts) β no shared library. NOTE: gated by the licensing review (cross-tenant redistribution).
Moved Jun 28, 6:13 AM
βοΈ Card data / image licensing review (legal gate)
Verify rights to use/redistribute card data + images (Scryfall/MTG, PokΓ©mon, YGO, Lorcana). This is a LEGAL gate, not engineering. Note: the platform sealed-product image deposit makes this stronger β we'd be redistributing imagery across tenants, so confirm licensing BEFORE shipping that feature.
Moved Jun 28, 9:41 AM
π§ Reconcile Supabase project mismatch (.env vs .mcp.json)
The app's .env points at Supabase project `fptmccrekjqwzbigbqri` (the live DB), but `.mcp.json` connects the Supabase MCP to a DIFFERENT project `ckrxejwyioomxxikwxdr`. Any MCP-driven DB inspection/migration would hit the wrong database. Decide the canonical project and repoint MCP (or document why they differ).
Moved Jun 28, 9:41 AM
π¨ Surface FLUX AI image-gen in the product UI
CORRECTION: the key IS set β BLACK_FOREST_LABS_API is present in .env and server/flux.ts (Black Forest Labs, flux-pro-1.1) works. Remaining work is purely a UI hook: add a 'generate image' action to ProductForm so sellers can use it. Pairs with the sealed-product image deposit card.
Moved Jun 28, 9:41 AM
π Phase 11 β Marketplace integrations (DORMANT)
eBay, TCGplayer, Cardmarket sync. Currently dormant β needs API implementation + credentials for each marketplace. Future revenue/reach feature, not a launch blocker.
Moved Jun 28, 9:41 AM
create a way for the cards to display on a card stand in the image gallery when the customer views the product this is something we need to look into as it needs to be right.
Moved Jun 28, 9:43 AM
π‘οΈ Resolve 2 Supabase security-advisor warnings
Two low-priority Supabase security advisor warnings outstanding. Review via get_advisors and remediate before go-live.
Moved Jun 28, 9:41 AM
- Next
Next
In progress
0No milestones in this phase.
- Later
Later
Done
15ποΈ Recently-viewed products on product detail (quick win)
Split out from the "featured products" card. Cheap to ship: track viewed product IDs in localStorage (no schema, no privacy concern) and render them via the existing ProductCarousel component on the product detail page.
Moved Jun 28, 10:55 AM
π‘ Recommendations / "you may also like" on product detail
Split from the original "featured products" idea (recently-viewed is now its own card). Add a recommendations block at the bottom of the product view. v1 heuristic using data we already have: same set / game / category / adjacent price band. Reuse the existing ProductCarousel. ML / co-visitation is a later upgrade. No related-products query exists yet in lib/store-data.ts.
Moved Jun 28, 10:55 AM
Phase 1 β Foundation & multi-tenancy
Next.js 15.5 (App Router, TS strict, Server Components), Supabase (Postgres) + email auth, RLS on every store-scoped table, multi-tenant stores with per-store slug/storefront, onboarding flow. β Shipped.
Moved Jun 28, 9:40 AM
Phase 2 β Multi-game catalogue & inventory
Catalogue ingest for PokΓ©mon (~23k), Magic (~97k English printings via streamed default_cards), Yu-Gi-Oh! and Lorcana. Singles modelled as variants (card Γ condition Γ finish Γ language) with unique constraint per store. β Shipped.
Moved Jun 28, 9:40 AM
Phase 3 β Storefront (browse / product / sets)
Customer-facing storefront: home, browse, product detail, set pages. Anon sees only published inventory under RLS. β Shipped.
Moved Jun 28, 9:40 AM
Phase 4 β Cart, checkout, payments & orders (LIVE)
Cart, checkout flow and order placement on a transactional place_order RPC (SELECT β¦ FOR UPDATE, no oversell). LIVE β Stripe Connect is configured (keys in Vercel) and taking real payments. β Shipped.
Moved Jun 28, 9:40 AM
Phase 5 β Customers & store-credit ledger
Per-store customer accounts (a human is a distinct customer at each store). Append-only credit_ledger; balance = SUM(delta_minor); cache column recomputed from ledger. Credit writes go through locked service-role RPCs. β Shipped.
Moved Jun 28, 9:40 AM
Phase 6 β Buylist (rules engine + review)
Buylist rules engine, online customer submission, admin review/completion via transactional complete_buylist RPC, plus card-preview thumbnails in the online buylist & kiosk list. β Shipped.
Moved Jun 28, 9:40 AM
Phase 7 β POS register & kiosk
In-store POS register (transactional POS sale with row locking) and customer-facing kiosk. β Shipped.
Moved Jun 28, 9:40 AM
Phase 8 β CSV import / export
CSV inventory import/export with server-side (Zod) validation on import. β Shipped.
Moved Jun 28, 9:40 AM
Phase 9 β Events & ticketing
Store events with ticketing/registration. β Shipped.
Moved Jun 28, 9:40 AM
Phase 10 β Reports, bulk updater, theme builder
Seller reports/analytics, bulk inventory updater, and theme/section builder. FLUX AI image generation exists server-side (server/flux.ts) but is NOT yet wired into the product UI (see To-Do: wire FLUX). β Shipped (with FLUX caveat).
Moved Jun 28, 9:41 AM
Merchandising suite
Sale pricing (Was/Now/Save), badges, pre-orders, wishlist, reviews, newsletter, loyalty cashback, gift vouchers, BNPL messaging β all implemented. β Shipped.
Moved Jun 28, 9:41 AM
Platform polish β unified search + Vault design
Unified TCG card-search methodology across the whole site, dark "Vault" design system, and the /demo "Arcane Vault" showcase storefront (real product photos, game-logo tiles, themed card-backs). β Shipped.
Moved Jun 28, 9:41 AM
- +1 more in Done