WP Manifestindependent plugin directory
manifest / content / plugin-juegos-scraper

Juegos Scraper

Muestra técnica de un plugin WordPress para importar videojuegos desde Steam mediante una arquitectura por capas.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/n1p0stk4/plugin-juegos-scraper/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Juegos Scraper - WordPress Plugin Showcase

Repositorio parcial de un plugin WordPress desarrollado para importar videojuegos desde Steam y convertirlos en contenido estructurado dentro de WordPress.

Este repositorio se publica como muestra técnica y contiene una selección representativa del código fuente. Se han omitido módulos específicos de producción y lógica de negocio para preservar la implementación comercial, manteniendo la arquitectura y los componentes más relevantes del proyecto.


Características principales

  • Arquitectura organizada por capas.
  • Integración con la Steam Store API.
  • Cliente HTTP con caché mediante Transients de WordPress.
  • Entidad de dominio para normalizar los datos recibidos desde Steam.
  • Separación entre lógica de aplicación, dominio e infraestructura.
  • Inversión de dependencias mediante interfaces.
  • Integración con el panel de administración de WordPress.
  • Utilidades para extracción de tráilers y mapeo de idiomas.

Componentes incluidos

  • ImportSteamGamesHandler: coordina todo el proceso de importación.
  • Game: entidad de dominio que representa un videojuego.
  • Contratos (Interfaces): cliente Steam, repositorio, sincronización de categorías y sistema de logging.
  • CachedSteamApiClient: cliente de Steam con sistema de caché.
  • SettingsPage: ejemplo de integración con la Settings API de WordPress.
  • Assets: gestión de recursos CSS del plugin.
  • LanguageMapper: conversión de idiomas de Steam al formato utilizado por WordPress.
  • TrailerExtractor: extracción de tráilers HLS/DASH e imágenes asociadas.

Tecnologías utilizadas

  • PHP 8.1+
  • WordPress
  • Steam Store API
  • WP HTTP API
  • Transients API
  • Settings API
  • Programación Orientada a Objetos
  • Inyección de Dependencias
  • Arquitectura por Capas

Estructura del proyecto

juegos-scraper-showcase/
├── juegos-scraper.php
├── uninstall.php
├── assets/
│   └── css/
├── src/
│   ├── Application/
│   ├── Domain/
│   │   └── Contracts/
│   ├── Infrastructure/
│   │   ├── Steam/
│   │   └── WordPress/
│   │       └── Admin/
│   └── Support/
└── docs/

Arquitectura

Application

Contiene los casos de uso de la aplicación. En este proyecto, el proceso de importación coordina la obtención de datos desde Steam, su transformación al modelo interno y su posterior almacenamiento.

Domain

Incluye la entidad Game y los contratos (interfaces) que desacoplan la lógica de negocio de la infraestructura y de WordPress.

Infrastructure

Agrupa las implementaciones concretas de integración con WordPress y con la Steam Store API.

Support

Contiene componentes reutilizables utilizados por distintas partes del proyecto, como el mapeo de idiomas y la extracción de información de los tráilers.


Objetivo del repositorio

Este repositorio tiene como finalidad mostrar la arquitectura, organización y calidad del código del proyecto sin exponer la totalidad de la implementación.

Se han omitido intencionadamente algunos componentes utilizados en producción, entre ellos:

  • Repositorios completos de persistencia.
  • Integraciones específicas del proyecto.
  • Tareas programadas (Cron).
  • Reglas internas de negocio.
  • Configuración de producción.

El objetivo es ofrecer una visión clara del diseño de la aplicación y de las decisiones técnicas empleadas durante su desarrollo.