# Portal ePromos — Hub de Juegos y Landings Este proyecto es una plataforma gamificada para la captación de leads y aumento de engagement mediante experiencias interactivas. Incluye juegos de **Ruleta**, **Rasca y Gana**, y **Memoria**, además de un potente constructor de **Landing Pages**. ## 🚀 Requisitos del Sistema - **PHP**: 8.0 o superior (Extensiones: `mysqli`, `mbstring`, `fileinfo`). - **Base de Datos**: MariaDB/MySQL 10.4+. - **Servidor Web**: Apache (con `mod_rewrite` habilitado) o Nginx. --- ## 🛠️ Instalación y Configuración ### 1. Preparar el Código 1. Clona el repositorio en tu servidor. 2. Asegúrate de que las carpetas en `uploads/` tengan permisos de escritura: ```bash chmod -R 775 uploads/ ``` ### 2. Configurar Base de Datos 1. Crea la base de datos: ```sql CREATE DATABASE ruleta_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. Importa el esquema base: `ruleta_db.sql`. 3. Importa el esquema de landings: `-- Tabla principal de landings.txt`. ### 3. Configurar Credenciales 1. Renombra `admin/db.php.example` a `admin/db.php`. 2. Edita los valores de host, usuario y contraseña: ```php $DB_HOST = 'tu_host'; $DB_USER = 'tu_usuario'; $DB_PASS = 'tu_password'; $DB_NAME = 'ruleta_db'; ``` ### 4. Ajuste de Rutas (Importante) El código asume por defecto que el proyecto vive en la subcarpeta `/ruleta/`. Si lo instalas en la raíz o en otra ruta, ajusta las siguientes constantes: - **Admin**: En `admin/ruletas.php`, `admin/rasca_config.php`, etc., cambia `$PUBLIC_DIR`. - **Landings**: En `landings_public.php`, cambia `PUBLIC_LANDING_ROUTE`. --- ## 🎮 Módulos Incluidos ### Ruleta - Configuración de premios por ángulos (0-360°). - Control de stock y probabilidad ponderada. - **Ruta**: `index.html?ruleta_id=1` ### Rasca y Gana - Capas de raspado personalizables. - Premios dinámicos basados en stock. - **Ruta**: `rasca_index.html?rasca_id=1` ### Memoria - Gestión de pares de cartas. - Posibilidad de enlazar con un premio final de ruleta. - **Ruta**: `/memoria/?juego_id=1` ### Constructor de Landings - Creación de landings vía Slug. - A/B Testing integrado. - Captura de formularios y exportación CSV. - **Admin**: `/admin/landing.php` --- ## 🔐 Acceso al Panel de Administración - **URL**: `/admin/` - **Usuario por defecto**: `admin@localhost` - **Contraseña temporal**: Para entrar por primera vez si no conoces la clave, ejecuta: ```sql UPDATE admin_users SET password_hash='admin123' WHERE email='admin@localhost'; ``` *Nota: El sistema re-hasheará la contraseña automáticamente al primer login.* --- ## 📦 Backup y Mantenimiento - **Archivos**: Respaldar periódicamente la carpeta `uploads/`. - **Base de Datos**: `mysqldump -u [user] -p ruleta_db > backup.sql` ---