Skip to content

Repository files navigation

Cardmarket Inventory Manager

Proyecto Node.js 22 para extraer las ofertas publicas de Cardmarket y sincronizarlas con PostgreSQL/Supabase.

Requisitos

  • Node.js 22
  • npm
  • Liquibase CLI instalado y disponible en el PATH
  • Acceso a la base PostgreSQL de Supabase

Instalacion

npm install

Configuracion

Los secretos viven en .env. Usa .env.example como plantilla para otros entornos.

Por seguridad el proyecto arranca con SCRAPER_DRY_RUN=true, asi puedes probar el scraping sin escribir en Supabase.

Base de datos

Ejecuta las migraciones:

npm run db:deploy

Uso

1. Extraer ofertas (Scrape)

Extraer ofertas y mostrarlas sin tocar la base de datos:

npm run scrape

2. Sincronizar (Sync)

Sincronizar con Supabase:

SCRAPER_DRY_RUN=false npm run sync

En PowerShell:

$env:SCRAPER_DRY_RUN="false"; npm run sync

3. Carga Automática de Cartas (Upload)

Esta funcionalidad permite leer un archivo CSV (formato ManaBox/Scryfall) y poner automáticamente a la venta las cartas en Cardmarket calculando un precio competitivo.

Configuración requerida en .env:

  • CARDMARKET_USERNAME: Tu usuario de Cardmarket.
  • CARDMARKET_PASSWORD: Tu contraseña de Cardmarket.
  • SELL_PRICE_INCREASED_PERCENTAGE: Porcentaje de incremento a aplicar sobre la media de las 20 ofertas más baratas (excluyendo idiomas asiáticos). Ej: 5 para un 5%.
  • SELL_SUBMIT_DELAY_MS: Tiempo de espera en milisegundos antes de confirmar la venta (ej: 2000).

Ejecución:

npm run build
node dist/index.js upload --file=/ruta/absoluta/a/tu/archivo.csv

(También puedes usar npx tsx src/index.ts upload --file=... en desarrollo)

El bot iniciará sesión, buscará cada carta, calculará el precio y la añadirá a tu inventario. Las cartas que no se puedan procesar se guardarán en failed_uploads.csv.

Campos sincronizados (Sync)

  • Nombre carta
  • Link a la venta de la carta
  • Coleccion
  • Rareza
  • Idioma
  • Calidad
  • Foil
  • Observacion
  • Precio
  • Cantidad

About

App en Node para la gestión de inventario de CardMarket

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages