Portafolio
Cosmic Blazar Store · 2026

Cosmic Blazar: tienda online de cartas TCG

Ecommerce Laravel + Vue multi-juego

Tienda online de cartas TCG construida de cero en Laravel 12 + Inertia/Vue: catálogo multi-juego con condición graduada, inventario con libro mayor, cuatro pasarelas de pago, búsqueda tolerante a erratas y una herramienta de decklist al carrito. En producción en cosmicblazar.store.

Mi rol Diseño e implementación completa (full-stack)

  • Laravel 12
  • PHP 8.4
  • Vue 3 + Inertia (TypeScript)
  • Tailwind CSS + shadcn-vue
  • PostgreSQL 18
  • Meilisearch (Scout)
  • Stripe / PayPal / Bizum
  • Docker
Cosmic Blazar: tienda online de cartas TCG
1.172
Productos en catálogo
9
Juegos (TCG)
4
Pasarelas de pago
176
Tests (Pest)

Capturas

Problema

Vender cartas de TCG en serio implica mucho más que un catálogo: cada carta existe en decenas de variantes (idioma, edición, acabado y condición graduada al estilo Cardmarket), el stock cambia con cada venta y el comprador competitivo no busca cartas sueltas, sino un mazo entero. Montar eso sobre un ecommerce genérico obliga a pelearse con un modelo de datos que no encaja, una búsqueda que no tolera erratas y un back-office que no refleja cómo opera de verdad una tienda de cartas.

Solución

Diseñé y construí Cosmic Blazar de cero: una plataforma de ecommerce completa en Laravel 12 + Inertia/Vue 3 (TypeScript) sobre PostgreSQL, Redis y Meilisearch, todo en Docker. El catálogo es flexible y multi-juego: productos (singles, sellado, accesorios) con variantes cuyo SKU combina condición (7 grados CM), idioma, acabado y primera edición, más atributos dinámicos tipados por juego. El inventario se mueve sobre un libro mayor inmutable con reservas y bloqueos, y los pedidos siguen una máquina de estados con numeración propia y correos transaccionales. Integré cuatro vías de pago (Stripe con webhook firmado, PayPal, Bizum y transferencia), una búsqueda tolerante a erratas con facetas y sugerencias instantáneas, y el diferenciador: de la decklist al carrito —subes un .ydk/.txt/.csv, cruzo cada línea contra el stock y dejo solicitar lo que falta sin compromiso. Añadí un panel de administración tipo ERP con edición en línea, importaciones y exportaciones masivas, OAuth de Google, roles, 2FA, i18n completo ES/EN, accesibilidad WCAG 2.1 AA y SEO (sitemap dinámico, JSON-LD, OG).

Resultado

La tienda está en producción en cosmicblazar.store, abierta al público y cobrando con las cuatro pasarelas. Importé el catálogo real desde Cardmarket —1.172 productos con sus variantes— y resolví la imagen de cada carta desde YGOPRODeck (cobertura del 100 %). La plataforma reúne 49 páginas Vue, está respaldada por 176 tests Pest contra PostgreSQL y Meilisearch reales, más una auditoría visual con Playwright (escritorio y móvil) y axe sin violaciones, y luce una identidad cósmica propia derivada del logo (un dragón estelar). Es una prueba de extremo a extremo de cómo abordo un producto real: arquitectura limpia, dominio bien modelado y operación lista para vender.