Manual Técnico
Arquitectura, instalación, multiempresa, migraciones, PWA, notificaciones PUSH, alertas automáticas, seguridad, copias de seguridad y mantenimiento de Kronetic.
1. Objetivo del manual técnico
Este manual describe la arquitectura técnica y los procedimientos básicos de instalación, mantenimiento y soporte de Kronetic V1.
Está orientado a técnicos, implantadores, soporte interno y responsables de mantenimiento.
2. Arquitectura general
Kronetic es una aplicación web desarrollada en PHP 8.2 y MariaDB, diseñada con arquitectura multiempresa mediante bases de datos independientes.
Componentes principales
- • Aplicación PHP 8.2.
- • Base de datos principal.
- • Bases tenant por empresa.
- • Sistema de autenticación.
- • Control horario.
- • Gestión de incidencias.
- • Gestión de ausencias.
- • Sistema de auditoría.
- • AlertService.
- • Service Worker.
- • Notificaciones PUSH.
Cada empresa trabaja con su propia base de datos, evitando mezclar información entre clientes.
3. Requisitos del servidor
- • Linux.
- • Apache 2.4 o superior.
- • PHP 8.2 o superior.
- • MariaDB 10.6 o superior.
- • HTTPS obligatorio.
Extensiones PHP recomendadas
- • pdo_mysql
- • openssl
- • mbstring
- • json
- • curl
- • sodium
- • fileinfo
4. Instalación inicial
La instalación básica requiere subir el código fuente, configurar la base principal, definir variables de entorno y validar HTTPS.
Configuración básica
- • Subir archivos al servidor.
- • Configurar
.env. - • Configurar
config/config.php. - • Crear base principal.
- • Verificar permisos.
- • Verificar HTTPS.
No active notificaciones PUSH ni geolocalización sin HTTPS válido.
5. Estructura multiempresa
Kronetic utiliza una base principal para gestionar las empresas y una base independiente por cada cliente.
Base principal
Contiene información de empresas, credenciales cifradas y configuración global.
Base tenant
Cada tenant contiene fichajes, pausas, usuarios, incidencias, ausencias, alertas y auditoría de una empresa concreta.
6. Sistema de migraciones
Las migraciones se gestionan mediante SchemaManager.
Cada archivo SQL se ejecuta una única vez y queda registrado en:
Ejecutar migraciones
Las migraciones deben ubicarse en database/migrations, no en una carpeta genérica migrations.
7. Sistema PUSH y PWA
Kronetic utiliza Service Worker, PWA y claves VAPID para gestionar notificaciones PUSH.
Componentes
- •
manifest.webmanifest - •
sw.js - • Claves VAPID.
- • Tabla de suscripciones PUSH.
- • Rutas de suscripción.
Generar claves VAPID
8. Sistema de alertas
El sistema de alertas se encarga de detectar situaciones operativas que requieren revisión.
- • Jornadas abiertas demasiado tiempo.
- • Pausas excesivamente largas.
- • Incidencias pendientes.
- • Eventos relevantes del sistema.
Script automático
Cron recomendado
9. Geolocalización
El sistema puede registrar coordenadas GPS durante los fichajes si la empresa lo requiere.
- • Latitud.
- • Longitud.
- • Precisión.
- • Permiso del navegador.
El funcionamiento depende del navegador, dispositivo, permisos y calidad de la señal GPS.
10. Auditoría
Kronetic registra eventos relevantes dentro de la tabla de auditoría.
- • Login.
- • Fichajes.
- • Pausas.
- • Incidencias.
- • Ausencias.
- • Cambios administrativos.
11. Seguridad
- • Contraseñas con hash seguro.
- • Protección CSRF.
- • Sesiones seguras.
- • HTTPS obligatorio.
- • Cifrado de credenciales sensibles.
- • Aislamiento por base de datos tenant.
12. Copias de seguridad
Se recomienda realizar copias de seguridad diarias de la base principal y de cada base tenant.
No basta con generar backups: debe verificarse periódicamente que pueden restaurarse.
13. Actualizaciones
- Realizar copia de seguridad.
- Subir nuevo código.
- Ejecutar migraciones.
- Verificar login.
- Verificar fichajes.
- Verificar incidencias.
- Verificar alertas y PUSH.