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.

by Rodrigo Gil Carrillo · github.com/n1p0stk4/plugin-juegos-scraper · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/n1p0stk4/plugin-juegos-scraper/archive/refs/heads/main.zip

Readme

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.

Read the full README on GitHub →