w

Guía de Instalación

Bienvenido a nuestra plataforma. Esta guía te ayudará a configurar y comenzar a usar todas las herramientas y funcionalidades disponibles.

Requisitos del Sistema

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

Dispositivos Móviles

  • iOS 14+
  • Android 8+
  • Navegadores móviles modernos

Requisitos de Red

  • Conexión a internet estable
  • Ancho de banda mínimo: 1 Mbps
  • Recomendado: 5+ Mbps para mejor experiencia

Instalación Local (Desarrolladores)

Prerrequisitos

  • Node.js 18.0+
  • pnpm 8.0+
  • Git 2.30+

Pasos de Instalación

  1. Clonar el Repositorio
    git clone https://github.com/your-org/woker-job.git
    cd woker-job
    
  2. Instalar Dependencias
    pnpm install
    
  3. Configurar Variables de Entorno
    cp .env.example .env
    # Editar .env con tus configuraciones
    
  4. Iniciar Servicios
    # Iniciar backend
    pnpm --filter back-end dev
    
    # En otra terminal, iniciar frontend
    pnpm --filter web dev
    
  5. Verificar Instalación

Configuración de Desarrollo

Estructura del Proyecto

woker-job/
├── apps/
│   ├── back-end/     # API NestJS
│   └── web/          # Frontend Nuxt.js
├── packages/         # Paquetes compartidos
└── docs/            # Documentación

Scripts Disponibles

# Desarrollo
pnpm dev              # Iniciar todos los servicios
pnpm build            # Construir para producción
pnpm test             # Ejecutar tests
pnpm lint             # Verificar código

# Gestión de contenido
pnpm content:check    # Verificar sincronización multilingüe
pnpm content:init     # Inicializar estructura de idioma

Configuración de Producción

Docker (Recomendado)

# Construir imagen
docker build -t woker-job .

# Ejecutar contenedor
docker run -p 3000:3000 woker-job

Despliegue Manual

  1. Construir Aplicación
    pnpm build
    
  2. Configurar Servidor
    • Node.js 18+
    • PM2 o similar para gestión de procesos
    • Nginx para proxy reverso
  3. Variables de Entorno de Producción
    NODE_ENV=production
    DATABASE_URL=your_database_url
    JWT_SECRET=your_jwt_secret
    

Configuración de Base de Datos

PostgreSQL (Recomendado)

# Instalar PostgreSQL
sudo apt-get install postgresql postgresql-contrib

# Crear base de datos
sudo -u postgres createdb woker_job

# Ejecutar migraciones
pnpm migration:run

SQLite (Desarrollo)

# Configurar en .env
DATABASE_URL="file:./dev.db"

Configuración de Autenticación

OAuth 2.0

  1. Configurar Proveedores
    • Google OAuth
    • GitHub OAuth
    • Microsoft OAuth
  2. Variables de Entorno
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    GITHUB_CLIENT_ID=your_github_client_id
    GITHUB_CLIENT_SECRET=your_github_client_secret
    

JWT

JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=7d

Configuración de Correo Electrónico

SMTP

SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_app_password

Servicios de Correo

  • SendGrid: Para envío masivo
  • Mailgun: Para transaccional
  • AWS SES: Para escalabilidad

Configuración de Almacenamiento

Local

STORAGE_TYPE=local
STORAGE_PATH=./uploads

Cloud Storage

# AWS S3
STORAGE_TYPE=s3
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-east-1
AWS_BUCKET=your_bucket_name

# Google Cloud Storage
STORAGE_TYPE=gcs
GCS_PROJECT_ID=your_project_id
GCS_BUCKET=your_bucket_name

Configuración de Monitoreo

Logs

LOG_LEVEL=info
LOG_FORMAT=json

Métricas

  • Prometheus: Para métricas del sistema
  • Grafana: Para visualización
  • Sentry: Para monitoreo de errores

Configuración de Seguridad

HTTPS

# Generar certificados SSL
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

Headers de Seguridad

// Configurar en Nuxt.js
export default {
  serverMiddleware: [{ path: '/api', handler: '~/server-middleware/security.js' }],
};

Configuración de Caché

Redis

REDIS_URL=redis://localhost:6379
REDIS_PASSWORD=your_redis_password

Configuración de Caché

// Configurar en NestJS
import { CacheModule } from '@nestjs/cache-manager';
import { redisStore } from 'cache-manager-redis-store';

CacheModule.register({
  store: redisStore,
  host: 'localhost',
  port: 6379,
});

Configuración de Cola de Trabajos

Bull Queue

REDIS_URL=redis://localhost:6379
QUEUE_PREFIX=woker-job

Configuración de Cola

// Configurar en NestJS
import { BullModule } from '@nestjs/bull';

BullModule.registerQueue({
  name: 'email',
  redis: {
    host: 'localhost',
    port: 6379,
  },
});

Verificación de Instalación

Tests Automatizados

# Tests unitarios
pnpm test:unit

# Tests de integración
pnpm test:integration

# Tests end-to-end
pnpm test:e2e

Verificación Manual

  1. Verificar API
    curl http://localhost:3000/health
    
  2. Verificar Frontend
  3. Verificar Base de Datos
    pnpm db:test
    

Solución de Problemas

Problemas Comunes

Error de Puerto en Uso

# Encontrar proceso usando el puerto
lsof -i :3000

# Terminar proceso
kill -9 <PID>

Error de Dependencias

# Limpiar caché
pnpm store prune

# Reinstalar dependencias
rm -rf node_modules
pnpm install

Error de Base de Datos

# Verificar conexión
pnpm db:ping

# Resetear base de datos
pnpm db:reset

Logs de Depuración

# Ver logs en tiempo real
pnpm logs

# Ver logs específicos
pnpm logs:api
pnpm logs:web

Actualizaciones

Actualización Automática

# Actualizar dependencias
pnpm update

# Actualizar aplicación
git pull origin main
pnpm install
pnpm build

Migraciones de Base de Datos

# Generar migración
pnpm migration:generate

# Ejecutar migraciones
pnpm migration:run

# Revertir migración
pnpm migration:revert

Soporte

Recursos de Ayuda

Contacto

Próximos Pasos

  1. Configurar Dominio
    • Configurar DNS
    • Configurar SSL
    • Configurar CDN
  2. Configurar Monitoreo
    • Configurar alertas
    • Configurar dashboards
    • Configurar backups
  3. Configurar Escalabilidad
    • Configurar load balancer
    • Configurar auto-scaling
    • Configurar microservicios

Última Actualización: Diciembre 2024 Versión: 1.0.0

Was this page helpful?