Sobre el proyecto

Game Sales Aggregator es un proyecto de código abierto (bajo licencia MIT) que recopila automáticamente ofertas de juegos actuales de varias tiendas digitales y las publica en un sitio estático y en un canal de Telegram. La versión desplegada está disponible en GitHub Pages. Qué rastrea: obsequios gratuitos de Epic Games (actuales y próximos), descuentos en Epic Games Store, ofertas temporalmente gratuitas en Steam, descuentos destacados de Steam (desde el 5%), así como nuevas llegadas y adiciones esperadas a Xbox Game Pass para PC. Características del sitio: búsqueda por título de juego con debounce de 300 ms; filtrado por categorías (Epic/Steam, gratis/descuento, nuevos juegos de Game Pass); ordenamiento por precio, porcentaje de descuento o título; filtro de rango de precios; lista de deseos almacenada en localStorage; historial de notificaciones de los últimos 30 días; temas oscuro y claro con un interruptor en el encabezado; interfaz bilingüe (ucraniano e inglés); modo PWA con instalación en teléfono o PC y caché sin conexión mediante Service Worker; marcado SEO: Open Graph, Twitter Cards, JSON-LD, sitemap.xml. Cómo funciona: según una programación de GitHub Actions (cada hora), se ejecuta un script que recopila datos de las API de Steam, Epic Games y Xbox Game Pass. Luego, se actualiza deals.json en el repositorio, se genera sitemap.xml, se construye la aplicación React y se despliega en GitHub Pages, y los nuevos descuentos, obsequios y adiciones se envían al canal de Telegram a través de la API de Bot. Tecnologías: React 19 + TypeScript + Vite + React Router; estilos: CSS nativo con efectos de glassmorphism; localización personalizada mediante LocaleContext (uk.ts, en.ts); recopilación de datos: Node.js con tsx; PWA basada en vite-plugin-pwa y Service Worker; alojamiento: GitHub Pages; automatización: GitHub Actions con cron horario. Lanzamiento local: se requieren Node.js 20+ y npm. Se proporcionan scripts de instalación automática para Ubuntu/Debian (scripts/install.sh, incluido el modo --dev) y Windows (scripts/install.ps1, incluido -Dev). Ruta manual: git clone, npm install, luego comandos npm run fetch (obtener datos), npm run dev (sitio local), npm run build (compilación de producción), npm run lint, npm test. La compilación, las pruebas y el despliegue en CI se ejecutan en ubuntu-latest; la aplicación es estática, por lo que el directorio dist/ se puede colocar en cualquier servidor web (nginx, Caddy, etc.). Para que las notificaciones funcionen en GitHub Actions, agregue los secretos TELEGRAM_BOT_TOKEN y TELEGRAM_CHAT_ID en Settings, luego Secrets and variables, y después Actions. El archivo README describe cómo obtener el Chat ID del canal: agregue el bot como administrador, envíe un mensaje al canal y vea la respuesta del método getUpdates. La estructura del repositorio cubre el flujo de trabajo .github/workflows/scheduler.yml, los datos public/data/deals.json, los scripts fetch-deals.ts y generate-sitemap.ts, componentes (GameCard y secciones Epic/Steam/Xbox), contextos (LocaleContext, WishlistContext), hooks (useDebounce, useInstallPWA, useLocalStorage), diccionarios de localización, el enrutador App.tsx, DataContext para cargar deals.json, Service Worker src/sw.ts y la configuración de Vite con PWA. El proyecto también mantiene un canal público de Telegram con notificaciones sobre juegos gratuitos, descuentos y nuevos elementos de Game Pass.