Problem
Selling TCG cards seriously means far more than a catalogue: every card exists in dozens of variants (language, edition, finish and Cardmarket-style graded condition), stock changes with each sale, and competitive buyers don't shop for single cards but for a whole deck. Building that on a generic ecommerce forces you to fight a data model that doesn't fit, a search that can't tolerate typos and a back office that doesn't reflect how a card shop actually operates.
Solution
I designed and built Cosmic Blazar from scratch: a complete ecommerce platform on Laravel 12 + Inertia/Vue 3 (TypeScript) over PostgreSQL, Redis and Meilisearch, all in Docker. The catalogue is flexible and multi-game: products (singles, sealed, accessories) with variants whose SKU combines condition (7 CM grades), language, finish and first edition, plus typed per-game dynamic attributes. Inventory moves over an immutable ledger with reservations and row locks, and orders follow a state machine with their own numbering and transactional emails. I integrated four payment routes (Stripe with a signed webhook, PayPal, Bizum and bank transfer), a typo-tolerant faceted search with instant suggestions, and the differentiator: decklist to cart —upload a .ydk/.txt/.csv, I cross every line against stock and let you request the missing cards with no commitment. I added an ERP-style admin panel with inline editing, bulk imports and exports, Google OAuth, roles, 2FA, full ES/EN i18n, WCAG 2.1 AA accessibility and SEO (dynamic sitemap, JSON-LD, OG).
Result
The shop is in production at cosmicblazar.store, open to the public and charging through all four gateways. I imported the real catalogue from Cardmarket —1,172 products with their variants— and resolved each card's image from YGOPRODeck (100% coverage). The platform gathers 49 Vue pages, is backed by 176 Pest tests against real PostgreSQL and Meilisearch, plus a visual audit with Playwright (desktop and mobile) and axe with zero violations, and wears a bespoke cosmic identity derived from the logo (a stellar dragon). It is end-to-end proof of how I approach a real product: clean architecture, a well-modelled domain and an operation ready to sell.