# 3. Instalación y Configuración ## Requisitos del Sistema ### Backend - PHP 8.2 o superior - Composer 2.x - MySQL 8.0+ o PostgreSQL 14+ - Extensiones PHP: pdo_mysql, openssl, mbstring, fileinfo, gd ### Frontend - Node.js 18 o superior - npm o yarn ### Para generación de PDF - Node.js (para Puppeteer) - Chromium (se instala automáticamente) --- ## Instalación en Windows ### Opción 1: Usando Laragon (Recomendado) 1. **Descargar Laragon** - Visita https://laragon.org/download/ - Descarga la versión "Full" (incluye PHP, MySQL, Composer) - Instala y ejecuta Laragon 2. **Configurar el proyecto** ```bash # Copia el proyecto a C:\laragon\www\horux-strategy-platform # Abre la terminal de Laragon (clic derecho > Terminal) cd horux-strategy-platform\backend composer install copy .env.example .env php artisan key:generate ``` 3. **Crear base de datos** - En Laragon, clic en "Database" > "MySQL" - Crea una base de datos llamada `horux_strategy` 4. **Ejecutar migraciones** ```bash php artisan migrate --seed ``` 5. **Iniciar backend** ```bash php artisan serve ``` 6. **Iniciar frontend** (otra terminal) ```bash cd horux-strategy-platform\frontend npm install npm run dev ``` ### Opción 2: Instalación Manual 1. **Instalar PHP** - Descarga de https://windows.php.net/download/ - Versión: VS16 x64 Thread Safe - Extrae en `C:\php` - Agrega `C:\php` al PATH del sistema - Copia `php.ini-development` a `php.ini` - Edita `php.ini` y habilita: ```ini extension=pdo_mysql extension=openssl extension=mbstring extension=fileinfo extension=gd ``` 2. **Instalar Composer** - Descarga de https://getcomposer.org/download/ - Ejecuta el instalador 3. **Instalar MySQL** - Descarga de https://dev.mysql.com/downloads/mysql/ - Durante instalación, anota usuario y contraseña 4. **Configurar proyecto** (igual que Opción 1, pasos 2-6) --- ## Instalación en Linux/Mac ```bash # Clonar o copiar el proyecto cd horux-strategy-platform # Backend cd backend composer install cp .env.example .env php artisan key:generate # Configurar .env con datos de MySQL nano .env # Migraciones php artisan migrate --seed php artisan serve # Frontend (otra terminal) cd ../frontend npm install npm run dev ``` --- ## Configuración del Archivo .env ```env # Aplicación APP_NAME="Horux Strategy" APP_ENV=local APP_DEBUG=true APP_URL=http://localhost:8000 FRONTEND_URL=http://localhost:5173 # Base de Datos DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=horux_strategy DB_USERNAME=root DB_PASSWORD=tu_password # Sanctum (autenticación) SANCTUM_STATEFUL_DOMAINS=localhost:5173,127.0.0.1:5173 ``` --- ## Verificación de Instalación ### Backend ```bash # Verificar que el servidor responde curl http://localhost:8000/api/giros # Debe retornar lista de giros en JSON ``` ### Frontend ```bash # Abrir en navegador http://localhost:5173 # Debe mostrar página de login ``` ### Credenciales de Prueba - **Email**: admin@horux360.com - **Password**: password --- ## Solución de Problemas ### Error: "php" no es reconocido - Verifica que PHP está en el PATH del sistema - Reinicia la terminal ### Error: SQLSTATE Connection refused - Verifica que MySQL está corriendo - Verifica credenciales en .env ### Error: CORS - Verifica FRONTEND_URL en .env - Verifica config/cors.php ### Error: 419 Page Expired - Ejecuta `php artisan config:clear` - Verifica SANCTUM_STATEFUL_DOMAINS --- ## Despliegue en Producción ### Backend ```bash composer install --optimize-autoloader --no-dev php artisan config:cache php artisan route:cache php artisan view:cache ``` ### Frontend ```bash npm run build # Servir carpeta dist/ con nginx/apache ``` ### Variables de Producción ```env APP_ENV=production APP_DEBUG=false FRONTEND_URL=https://tu-dominio.com ```