Cómo construir un rastreador de popularidad de tragamonedas en línea y un panel de análisis
Un sistema para raspar y analizar los juegos de tragamonedas populares presentados en las páginas de inicio de los casinos en línea, rastrear su popularidad a lo largo del tiempo y proporcionar un panel con metadatos y análisis de tragamonedas.
Learn2Vibe AI
Online
What do you want to build?
Resumen Simple
Este proyecto tiene como objetivo construir un sistema para raspar las páginas de inicio de los casinos en línea y rastrear los juegos de tragamonedas populares a lo largo del tiempo, con un panel para mostrar los metadatos y las tendencias de popularidad de las tragamonedas.
Documento de Requisitos del Producto (PRD)
Objetivos:
- Raspar las páginas de inicio de los casinos en línea para extraer los nombres de los juegos de tragamonedas más populares
- Rastrear la popularidad de las tragamonedas en cientos de casinos a lo largo del tiempo
- Proporcionar un panel con metadatos y análisis de popularidad de las tragamonedas
Audiencia objetivo:
- Analistas de la industria de los casinos en línea
- Desarrolladores de juegos de tragamonedas
- Operadores de casinos
Características clave:
- Raspado diario de las páginas de inicio de los casinos en línea
- Extracción y normalización de nombres de tragamonedas
- Enriquecimiento de metadatos de tragamonedas
- Seguimiento y puntuación de popularidad
- Panel de análisis
- Almacenamiento y análisis de datos históricos (al menos 1 año)
Flujos de Usuario
-
Recopilación de datos:
- El sistema raspa las páginas de inicio de los casinos diariamente
- Extrae los nombres y rankings de las tragamonedas
- Normaliza los nombres de las tragamonedas
- Enriquece con metadatos
- Almacena en la base de datos
-
Uso del panel:
- El usuario accede al panel
- Ve las tragamonedas más populares en los diferentes casinos
- Explora las tendencias de popularidad históricas
- Analiza los metadatos de las tragamonedas en relación con su popularidad
-
Análisis de datos:
- El usuario consulta los datos históricos
- Compara la popularidad de las tragamonedas entre los casinos
- Identifica tendencias a lo largo del tiempo (hasta 1 año)
- Examina la correlación entre los metadatos y la popularidad
Especificaciones Técnicas
- Frontend: React con TypeScript
- Backend: Supabase
- Raspado: API existente que devuelve HTML renderizado
- Base de datos: Supabase (PostgreSQL)
- Plataforma de desarrollo: bolt.new
Puntos de API
N/A
Esquema de Base de Datos
-
Tabla de Tragamonedas:
- id (clave primaria)
- nombre_normalizado
- url_logo
- rtp
- proveedor_software
- fecha_lanzamiento
-
Tabla de Casinos:
- id (clave primaria)
- nombre
- url
-
Tabla de Resultados de Raspado Diario:
- id (clave primaria)
- fecha
- casino_id (clave foránea a Casinos)
- tragamoneda_id (clave foránea a Tragamonedas)
- ranking
- nombre_tragamoneda_sin_procesar
-
Tabla de Alias de Nombres de Tragamonedas:
- id (clave primaria)
- tragamoneda_id (clave foránea a Tragamonedas)
- alias
Estructura de Archivos
/src /components Dashboard.tsx SlotList.tsx PopularityChart.tsx MetadataDisplay.tsx /pages Home.tsx Analysis.tsx /utils scraper.ts nameNormalizer.ts dataEnricher.ts /types SlotTypes.ts CasinoTypes.ts /services api.ts database.ts /hooks useSlotData.ts useCasinoData.ts App.tsx index.tsx /public index.html assets/ /scripts dailyScrape.ts dataUpload.ts
Plan de Implementación
- Configurar el proyecto utilizando bolt.new con React, TypeScript y Supabase
- Diseñar e implementar el esquema de la base de datos en Supabase
- Desarrollar la lógica de raspado e integración con la API existente
- Implementar el algoritmo de normalización de nombres de tragamonedas
- Crear el proceso de enriquecimiento de metadatos de tragamonedas
- Desarrollar el script de raspado diario y almacenamiento de datos
- Construir los componentes de React para la interfaz de usuario del panel
- Implementar la recuperación de datos y la gestión del estado en React
- Crear visualizaciones para las tendencias de popularidad
- Desarrollar consultas de análisis para los datos históricos
- Implementar la interfaz de usuario para explorar y analizar los datos
- Configurar el proceso automatizado de raspado diario
- Realizar pruebas exhaustivas y corregir errores
- Implementar la aplicación
- Configurar procesos de monitoreo y mantenimiento
Estrategia de Despliegue
Información no disponible en la conversación.
Justificación del Diseño
El esquema de la base de datos está diseñado para almacenar y consultar eficientemente los resultados del raspado diario, manteniendo al mismo tiempo los datos históricos durante al menos un año. La separación de las tablas de tragamonedas, casinos y resultados del raspado diario permite una consulta y análisis flexibles de las tendencias de popularidad a lo largo del tiempo. La tabla de alias de nombres de tragamonedas facilita la normalización de nombres, abordando el desafío de hacer coincidir nombres ligeramente diferentes para la misma tragamoneda entre los diferentes casinos. El almacenamiento de los rankings en los resultados del raspado diario permite una puntuación de popularidad más precisa, tal como se solicita en la conversación.