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
Navegadores Soportados
- 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
- Clonar el Repositorio
git clone https://github.com/your-org/woker-job.git cd woker-job
- Instalar Dependencias
pnpm install
- Configurar Variables de Entorno
cp .env.example .env # Editar .env con tus configuraciones
- Iniciar Servicios
# Iniciar backend pnpm --filter back-end dev # En otra terminal, iniciar frontend pnpm --filter web dev
- Verificar Instalación
- Backend: http://localhost:3000
- Frontend: http://localhost:3001
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
- Construir Aplicación
pnpm build
- Configurar Servidor
- Node.js 18+
- PM2 o similar para gestión de procesos
- Nginx para proxy reverso
- 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
- Configurar Proveedores
- Google OAuth
- GitHub OAuth
- Microsoft OAuth
- 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
- Verificar API
curl http://localhost:3000/health
- Verificar Frontend
- Abrir http://localhost:3001
- Verificar que todas las páginas cargan
- Probar funcionalidades básicas
- 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
- Email: support@example.com
- Soporte Técnico: tech@example.com
- Comercial: sales@example.com
Próximos Pasos
- Configurar Dominio
- Configurar DNS
- Configurar SSL
- Configurar CDN
- Configurar Monitoreo
- Configurar alertas
- Configurar dashboards
- Configurar backups
- Configurar Escalabilidad
- Configurar load balancer
- Configurar auto-scaling
- Configurar microservicios
Última Actualización: Diciembre 2024 Versión: 1.0.0