Kronetic
Kronetic
Control horario inteligente
Documentación técnica Kronetic V1

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.
Concepto clave

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.
Atención

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.

database/migrations

Cada archivo SQL se ejecuta una única vez y queda registrado en:

schema_migrations

Ejecutar migraciones

php tools/migrate_all_tenants.php
Importante

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

php tools/generate_vapid.php

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

php tools/scan_alerts.php

Cron recomendado

*/5 * * * * /usr/bin/php /ruta/kronetic/tools/scan_alerts.php >/dev/null 2>&1

9. Geolocalización

El sistema puede registrar coordenadas GPS durante los fichajes si la empresa lo requiere.

  • • Latitud.
  • • Longitud.
  • • Precisión.
  • • Permiso del navegador.
Dependencias

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.

Recomendación

No basta con generar backups: debe verificarse periódicamente que pueden restaurarse.

13. Actualizaciones

  1. Realizar copia de seguridad.
  2. Subir nuevo código.
  3. Ejecutar migraciones.
  4. Verificar login.
  5. Verificar fichajes.
  6. Verificar incidencias.
  7. Verificar alertas y PUSH.

14. Checklist de producción

✓ HTTPS activo
✓ Base principal operativa
✓ Tenants creados
✓ Migraciones ejecutadas
✓ PWA validada
✓ Service Worker activo
✓ PUSH operativo
✓ Cron de alertas activo
✓ GPS validado
✓ Auditoría operativa
✓ Backups configurados
✓ Logs revisados
Utilizamos cookies técnicas necesarias y, si lo aceptas, cookies analíticas propias para mejorar Kronetic. Ver política de cookies