📋 Guía de Administración

Manual Completo para Administradores del Sistema AgenteLegal

🎯Introducción

Bienvenido a la Guía de Administración del Sistema AgenteLegal. Este manual está diseñado para administradores del sistema que necesitan configurar, mantener y gestionar la plataforma de cumplimiento legal.

💡 Nota Importante: Esta guía asume que usted tiene conocimientos básicos de administración de sistemas y gestión de bases de datos.

Objetivos de esta Guía

  • Configuración inicial completa del sistema
  • Gestión de usuarios y permisos
  • Configuración del sistema de facturación híbrido
  • Mantenimiento y monitoreo del sistema
  • Solución de problemas comunes

Arquitectura del Sistema

AgenteLegal está construido con una arquitectura moderna y escalable:

🖥️ Frontend

React.js con Material-UI y Tailwind CSS para interfaces modernas y responsivas.

⚙️ Backend

Node.js con Express y PostgreSQL para un rendimiento robusto y escalable.

☁️ Cloud

Google Cloud Platform con Cloud Run, Cloud SQL y Cloud Storage.

💳 Pagos

Sistema híbrido con PayPal y transferencias bancarias manuales.

⚙️Configuración Inicial

Requisitos del Sistema

Componente Versión Mínima Recomendado
Node.js 16.x 18.x LTS
PostgreSQL 13.x 15.x
Memoria RAM 2GB 4GB+
Almacenamiento 20GB 50GB+

Configuración de Variables de Entorno

Copie el archivo .env.example a .env.production y configure las siguientes variables:

# Base de Datos DB_HOST=tu-host-de-base-de-datos DB_NAME=agente-legal-db DB_USER=postgres DB_PASSWORD=tu-contraseña-segura DB_SSL=true # JWT y Seguridad JWT_SECRET=tu-clave-jwt-super-segura-de-256-bits SESSION_SECRET=tu-clave-de-sesion-segura # Google Cloud Storage GCS_PROJECT_ID=tu-proyecto-gcp GCS_BUCKET_NAME=tu-bucket-de-documentos # Email (Gmail SMTP) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=tu-email@gmail.com SMTP_PASS=tu-contraseña-de-aplicacion # PayPal (Producción) PAYPAL_CLIENT_ID=tu-client-id-de-paypal PAYPAL_CLIENT_SECRET=tu-client-secret-de-paypal PAYPAL_MODE=live # Información Bancaria COMPANY_LEGAL_NAME=Tu Empresa Legal S.A. COMPANY_RUC=155767268-2-2025 BANK_NAME=Banco General S.A. BANK_ACCOUNT_NUMBER=TU-NUMERO-DE-CUENTA
⚠️ Seguridad: Nunca compartas el archivo .env.production ni lo subas a Git. Mantén estas credenciales seguras.

Configuración de la Base de Datos

  1. Crear la base de datos PostgreSQL
  2. Ejecutar las migraciones iniciales
  3. Configurar el usuario administrador inicial
# Ejecutar migraciones npm run migrate # Crear usuario administrador npm run create-admin # Validar configuración npm run validate-config

👥Gestión de Usuarios

Tipos de Usuario

🔑 Administrador

  • Acceso completo al sistema
  • Gestión de usuarios y permisos
  • Configuración del sistema
  • Acceso a reportes financieros

⚖️ Abogado

  • Gestión de clientes y casos
  • Aprobación de documentos
  • Gestión de balances
  • Reportes de cumplimiento

📋 Asistente

  • Carga de documentos
  • Actualización de información
  • Solo lectura en finanzas
  • Soporte a clientes

🏢 Cliente

  • Portal de cliente limitado
  • Carga de documentos propios
  • Vista de su balance
  • Descarga de facturas

Crear Nuevos Usuarios

  1. Navegar a Admin Panel → Usuarios
  2. Hacer clic en "+ Agregar Usuario"
  3. Completar la información requerida
  4. Asignar rol y permisos apropiados
  5. Enviar credenciales por email
💡 Tip: Los usuarios reciben un email con sus credenciales temporales y deben cambiar su contraseña en el primer acceso.

Gestión de Permisos Avanzados

Puede personalizar permisos específicos para cada usuario:

Permiso Descripción Admin Abogado Asistente
user.create Crear nuevos usuarios
client.manage Gestionar clientes 📖
document.approve Aprobar documentos
billing.manage Gestionar facturación 📖

💰Sistema de Facturación

Configuración del Sistema Híbrido

AgenteLegal utiliza un sistema de facturación híbrido que combina PayPal y transferencias bancarias manuales, diseñado específicamente para el mercado panameño.

Configuración de PayPal

  1. Crear cuenta PayPal Business
  2. Generar credenciales API en el Dashboard de PayPal
  3. Configurar variables de entorno
  4. Probar la integración en modo sandbox

Configuración Bancaria

Para pagos por transferencia bancaria, configure la información de su cuenta empresarial:

# Ejecutar el asistente de configuración bancaria npm run setup-bank # O configurar manualmente en .env COMPANY_LEGAL_NAME="Tu Empresa Legal S.A." BANK_NAME="Banco General S.A." BANK_ACCOUNT_NUMBER="TU-NUMERO-DE-CUENTA" BANK_ROUTING_NUMBER="BGENPA22"

Planes de Suscripción

Plan Precio Mensual Trial Características
Profesional $50 USD/mes 14 días gratis Un usuario, clientes ilimitados, documentos, reportes
Empresarial $50 USD/usuario 14 días gratis Multi-usuario, integraciones, soporte prioritario

Gestión de Facturas

El sistema genera facturas automáticamente cada mes:

  • Numeración: AL-2025-0001, AL-2025-0002, etc.
  • Formato: PDF profesional en español
  • Términos: 15 días para pago
  • Recordatorios: Automáticos a los 7 y 14 días
✅ Funcionalidades Automáticas:
  • Generación de facturas mensuales
  • Envío por email con PDF adjunto
  • Seguimiento de pagos pendientes
  • Suspensión automática por falta de pago

Verificación Manual de Pagos

Para pagos por transferencia bancaria:

  1. Cliente envía comprobante a través del portal
  2. Administrador revisa en Admin Panel → Pagos Pendientes
  3. Verificar el comprobante bancario
  4. Marcar como "Pagado" en el sistema
  5. La cuenta se activa automáticamente

📧Sistema de Notificaciones

Configuración de Email SMTP

Configure el servidor SMTP para envío de notificaciones automáticas:

# Gmail (Recomendado) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=tu-email@gmail.com SMTP_PASS=tu-contraseña-de-aplicacion # SendGrid (Alternativa) SMTP_HOST=smtp.sendgrid.net SMTP_PORT=587 SMTP_USER=apikey SMTP_PASS=tu-api-key-de-sendgrid
⚠️ Gmail: Use contraseñas de aplicación, no su contraseña personal. Active la autenticación de dos factores.

Plantillas de Notificación

El sistema incluye plantillas personalizables para diferentes eventos:

📄 Documentos

  • Documento pendiente de aprobación
  • Documento aprobado
  • Documento rechazado
  • Documentos próximos a vencer

💰 Facturación

  • Nueva factura generada
  • Recordatorio de pago
  • Pago confirmado
  • Cuenta suspendida

👥 Usuarios

  • Bienvenida de nuevo usuario
  • Restablecimiento de contraseña
  • Cambio de permisos
  • Activación de cuenta

🔔 Cumplimiento

  • Vencimientos próximos
  • Documentos faltantes
  • Alertas de compliance
  • Reportes automáticos

Personalización de Plantillas

Acceda a Admin Panel → Plantillas de Notificación para personalizar:

  • Variables dinámicas: {{client_name}}, {{due_date}}, {{balance_amount}}
  • Editor de texto enriquecido: Formato, colores, enlaces
  • Previsualización: Ver como recibirá el destinatario
  • Pruebas: Enviar emails de prueba

💾Respaldos y Seguridad

Respaldos Automáticos

El sistema está configurado para realizar respaldos automáticos diarios:

Tipo de Respaldo Frecuencia Retención Ubicación
Base de Datos Diario (2:00 AM) 30 días Google Cloud Storage
Documentos Continuo Permanente Google Cloud Storage
Configuración Semanal 90 días Google Cloud Storage

Restauración de Respaldos

Para restaurar un respaldo en caso de emergencia:

# Listar respaldos disponibles npm run backup:list # Restaurar respaldo específico npm run backup:restore --date=2025-01-15 # Verificar integridad después de restauración npm run backup:verify

Medidas de Seguridad

🔒 Configuraciones de Seguridad Críticas:
  • Cambiar todas las contraseñas por defecto
  • Habilitar SSL/TLS en producción
  • Configurar firewall y límites de tasa
  • Implementar autenticación de dos factores
  • Auditar accesos regularmente

Monitoreo de Seguridad

  • Logs de acceso: Revisión diaria de intentos de acceso
  • Alertas automáticas: Notificaciones por actividad sospechosa
  • Auditoría de cambios: Registro de todas las modificaciones
  • Análisis de vulnerabilidades: Escaneos semanales

📊Monitoreo y Reportes

Dashboard de Administración

El panel de administración proporciona métricas en tiempo real:

👥 Usuarios Activos

  • Usuarios conectados en las últimas 24h
  • Tiempo promedio de sesión
  • Actividad por tipo de usuario

📄 Documentos

  • Documentos procesados hoy
  • Documentos pendientes de revisión
  • Tiempo promedio de aprobación

💰 Facturación

  • Ingresos del mes actual
  • Pagos pendientes
  • Tasa de conversión de trials

⚡ Rendimiento

  • Tiempo de respuesta promedio
  • Uso de recursos del servidor
  • Disponibilidad del sistema

Reportes Automatizados

Configure reportes automáticos para envío por email:

Reporte Frecuencia Destinatarios Formato
Resumen Diario Diario (8:00 AM) Administradores PDF + Email
Reporte Financiero Semanal (Lunes) Gerencia Excel + PDF
Análisis de Cumplimiento Mensual Equipo Legal PDF Detallado

Alertas y Notificaciones

Configure alertas automáticas para eventos críticos:

  • Rendimiento: Tiempo de respuesta > 3 segundos
  • Errores: > 10 errores por hora
  • Seguridad: Intentos de acceso fallidos > 5
  • Capacidad: Uso de disco > 85%
  • Facturación: Pagos vencidos > 30 días

🛠️Mantenimiento

Mantenimiento Rutinario

Tareas de mantenimiento recomendadas para asegurar el óptimo funcionamiento:

Diario

  • Revisar logs de errores
  • Verificar respaldos automáticos
  • Monitorear uso de recursos
  • Revisar alertas de seguridad

Semanal

  • Limpiar logs antiguos
  • Actualizar estadísticas de base de datos
  • Revisar reportes de rendimiento
  • Verificar integridad de respaldos

Mensual

  • Aplicar actualizaciones de seguridad
  • Optimizar base de datos
  • Revisar configuraciones de usuario
  • Actualizar documentación

Scripts de Mantenimiento

Utilice estos comandos para tareas de mantenimiento automático:

# Limpieza de logs antiguos npm run maintenance:clean-logs # Optimización de base de datos npm run maintenance:optimize-db # Verificación de integridad npm run maintenance:health-check # Limpieza de archivos temporales npm run maintenance:cleanup # Reporte de estado del sistema npm run maintenance:status-report

Actualizaciones del Sistema

Para actualizar AgenteLegal a una nueva versión:

  1. Crear respaldo completo del sistema
  2. Descargar la nueva versión
  3. Ejecutar las migraciones de base de datos
  4. Probar en entorno de staging
  5. Desplegar en producción
  6. Verificar funcionamiento
⚠️ Importante: Siempre pruebe las actualizaciones en un entorno de staging antes de aplicarlas en producción.

🚨Solución de Problemas

Problemas Comunes

🔌 Problemas de Conexión a Base de Datos

Síntomas: Error "ECONNREFUSED" o timeouts de conexión

Soluciones:

  1. Verificar que PostgreSQL esté ejecutándose
  2. Comprobar configuración de red y firewall
  3. Validar credenciales en archivo .env
  4. Verificar límites de conexiones concurrentes
# Probar conexión a base de datos npm run db:test-connection # Verificar configuración npm run config:validate

📧 Problemas de Envío de Emails

Síntomas: Emails no se envían o van a spam

Soluciones:

  1. Verificar configuración SMTP
  2. Comprobar contraseñas de aplicación (Gmail)
  3. Verificar límites de envío del proveedor
  4. Configurar SPF y DKIM para el dominio

💾 Problemas de Almacenamiento

Síntomas: Error al subir archivos o acceder a documentos

Soluciones:

  1. Verificar permisos de Google Cloud Storage
  2. Comprobar cuotas y límites de almacenamiento
  3. Validar configuración de credenciales
  4. Verificar conectividad de red

⚡ Problemas de Rendimiento

Síntomas: Respuestas lentas o timeouts

Soluciones:

  1. Revisar uso de CPU y memoria
  2. Optimizar consultas de base de datos
  3. Verificar índices de base de datos
  4. Considerar escalar recursos

Herramientas de Diagnóstico

# Diagnóstico completo del sistema npm run diagnose:full # Verificar estado de servicios npm run diagnose:services # Revisar logs de errores recientes npm run logs:errors --tail=100 # Monitorear recursos en tiempo real npm run monitor:resources

Contacto de Soporte

Si los problemas persisten, contacte al equipo de soporte:

📞 Información de Contacto

  • Email: soporte@agentelegal.com
  • WhatsApp: +507-XXXX-XXXX
  • Horario: Lunes a Viernes, 8:00 AM - 6:00 PM (GMT-5)
  • Emergencias: 24/7 para problemas críticos
💡 Al reportar problemas, incluya:
  • Descripción detallada del problema
  • Pasos para reproducir el error
  • Logs relevantes (sin información sensible)
  • Información del entorno (versión, SO, etc.)