- Laravel 11 backend with API REST - React 18 + TypeScript + Vite frontend - Multi-parser architecture for accounting systems (CONTPAQi, Aspel, SAP) - 27+ financial metrics calculation - PDF report generation with Browsershot - Complete documentation (10 documents) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
206 lines
3.8 KiB
Markdown
206 lines
3.8 KiB
Markdown
# 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
|
|
```
|