📋 Documentación Técnica v1.0

# Sistema de Gestión
Integral de Tickets

Guía completa de tecnologías, funcionalidades, instalación local y despliegue en tiempo real para equipos de soporte técnico.

FechaFebrero 2026
VersiónSistema 1.0
PlataformaPHP + MySQL
Preparado porVictorrsdatSoft
⚙️
Sección 01

## Tecnologías Utilizadas

El sistema ha sido construido sobre un stack web robusto, estable y ampliamente soportado, ideal para aplicaciones de gestión empresarial:

🐘 PHP 8.x Lenguaje de backend, lógica de negocio y generación de vistas dinámicas con PDO.
🗄️ MySQL / MariaDB Motor de base de datos relacional. Conexión segura mediante PDO Prepared Statements.
🎨 Bootstrap 5.3 Framework CSS para UI responsiva. Componentes como sidebar, cards, modals y tablas.
📊 Chart.js Librería JavaScript para visualizar estadísticas del dashboard en gráficos interactivos.
🔔 SweetAlert2 Alertas y confirmaciones modernas con UI premium, reemplazando los alerts nativos.
📄 FPDF 1.8 Generación dinámica de reportes en formato PDF directamente desde PHP.
📊 PhpSpreadsheet 4.5 Exportación de datos a formato Excel (.xlsx) para análisis externo.
🔒 Sessions PHP + Roles Sistema de autenticación con sesiones y control de acceso basado en roles.
ℹ️

Arquitectura: El sistema utiliza el patrón PHP Vanilla con PDO. No depende de frameworks pesados como Laravel, lo que facilita su instalación en cualquier servidor compartido sin requisitos de Composer avanzados.

🚀
Sección 02

## Funcionalidades del Sistema

El sistema cubre el ciclo completo de soporte técnico, desde la creación del ticket hasta su resolución, pasando por la administración de clientes y usuarios.

- 🎫
  Gestión de Tickets Crear, ver, asignar y cerrar tickets con historial de seguimiento y comentarios.
- 👥
  Administración de Clientes Registro, edición y eliminación de clientes con búsqueda avanzada.
- 👤
  Gestión de Usuarios Creación de usuarios con roles: Administrador y Técnico. Control de acceso granular.
- 🏷️
  Tipos de Caso Categorización personalizable de incidencias para mejorar la organización.
- 📈
  Dashboard Estadístico Visualización en tiempo real: tickets abiertos, cerrados y tendencias semanales.
- 📤
  Exportación PDF y Excel Reportes de tickets y clientes exportables en PDF y formato Excel .xlsx.
- 🖨️
  Impresión Directa Impresión de listado de tickets y clientes con formato optimizado.
- 💾
  Copia de Seguridad Descarga de backup de la BD en SQL directamente desde el panel de administración.
- 🔑
  Perfil y Contraseña Cambio de contraseña por el propio usuario desde su perfil de forma segura.
- 🔄
  Reseteo del Sistema Opción de limpieza total protegida para restaurar el sistema a valores iniciales.

🦅
Sección 03

## Instalación con Laragon 6

✅

Método Recomendado para Windows. Laragon detecta automáticamente los proyectos y crea hosts virtuales (ej: `sistema_soporte.test`) sin configuración adicional.

### Programas a Descargar

- Laragon 6 Full: `https://laragon.org/download/` → Versión "Full" (incluye PHP 8, MySQL, Apache).
- Visual Studio Code (opcional): `https://code.visualstudio.com/` para editar archivos de configuración.

1. 1
   Instalar Laragon 6

   Ejecuta el instalador descargado. En la pantalla de configuración deja las opciones por defecto y finaliza. Laragon se instalará en `C:\laragon`.

2. 2
   Iniciar Laragon

   Abre Laragon y haz clic en el botón "Start All". Esto iniciará Apache y MySQL. Los semáforos de la interfaz deben ponerse en verde.

3. 3
   Copiar el Proyecto

   Copia la carpeta del proyecto completo dentro de:

   C:\laragon\www\sistema_soporte\

   Laragon detectará la carpeta automáticamente y creará el virtual host.

4. 4
   Crear la Base de Datos

   Haz clic en el botón "Database" de Laragon (abre HeidiSQL). Crea una nueva conexión con: `Host: 127.0.0.1`, `Usuario: root`, `Contraseña: (vacía)`. Luego crea una base de datos llamada:

   soporte_db
5. 5
   Importar el Script SQL

   Selecciona la base de datos `soporte_db` en HeidiSQL, ve a Herramientas → Importar archivo SQL y selecciona el archivo del proyecto:

   soporte_db.sql // en la raíz del proyecto // o bien: database/script_inicial.sql.sql
6. 6
   Verificar Configuración de BD

   Abre el archivo `config/database.php` y confirma que los valores sean:

   $host = 'localhost'; $dbname = 'soporte_db'; $username = 'root'; $password = ''; // vacío por defecto en Laragon
7. 7
   Acceder al Sistema

   Abre tu navegador y escribe la dirección:

   http://sistema_soporte.test // o también: http://localhost/sistema_soporte/public

⚠️

Ajuste Laragon 6: Si el host `.test` no resuelve, ve a Laragon → Preferencias → Extensión del Host Virtual y cámbiala a `.test`. Luego recarga Apache. También asegúrate de tener habilitada la extensión `php_gd2` y `php_zip` en la configuración de PHP de Laragon (clic derecho en tray → PHP → Extensiones).

🦙
Sección 04

## Instalación con XAMPP

### Programas a Descargar

- XAMPP (PHP 8.x): `https://www.apachefriends.org/` → Descarga la versión con PHP 8.1 o superior.
- Composer (opcional): `https://getcomposer.org/` — solo si necesitas instalar nuevas dependencias.

1. 1
   Instalar XAMPP

   Ejecuta el instalador. Asegúrate de marcar los componentes Apache, MySQL y PHP. La ruta de instalación recomendada es `C:\xampp`.

2. 2
   Iniciar Apache y MySQL

   Abre el XAMPP Control Panel y haz clic en Start junto a Apache y MySQL. Ambos botones deben ponerse en verde.

3. 3
   Copiar el Proyecto

   Mueve la carpeta del proyecto a:

   C:\xampp\htdocs\sistema_soporte\
4. 4
   Crear la Base de Datos en phpMyAdmin

   Abre tu navegador y ve a `http://localhost/phpmyadmin`. Haz clic en "Nueva" en el panel izquierdo, escribe `soporte_db` como nombre y selecciona cotejamiento `utf8mb4_general_ci`.

5. 5
   Importar el Script SQL

   Con `soporte_db` seleccionada, ve a la pestaña Importar, haz clic en "Seleccionar archivo" y elige `soporte_db.sql`. Luego presiona Continuar.

6. 6
   Habilitar Extensiones PHP (⚠️ Ajuste Obligatorio)

   Abre el archivo `C:\xampp\php\php.ini` con un editor de texto y busca + descomenta estas líneas (quita el `;` del inicio):

   ; Quitar el ; para habilitar extension=gd extension=zip extension=mbstring extension=exif

   Guarda y reinicia Apache desde el Control Panel.

7. 7
   Acceder al Sistema
   http://localhost/sistema_soporte/public

⚠️

Ajuste XAMPP Importante: Si el servidor muestra error en las rutas, verifica que el archivo `config/database.php` tenga las credenciales correctas (usuario `root` y contraseña vacía por defecto en XAMPP). Si cambiaste la contraseña de MySQL, actualiza el campo `$password`.

☁️
Sección 05

## Opciones de Hosting Web

Para publicar la aplicación en internet, estas son las opciones más recomendadas para proyectos PHP + MySQL:

### 🌐 Hostinger

Desde ~$2.99 USD/mes

- ✅ Panel hPanel muy intuitivo
- ✅ PHP 8.x y MySQL incluido
- ✅ Administrador de archivos web
- ✅ phpMyAdmin integrado
- ✅ SSL gratuito (HTTPS)
- ✅ Excelente soporte 24/7

### 🔵 InfinityFree

Gratis (limitado)

- ✅ 100% Gratuito
- ✅ PHP 7.4 + MySQL
- ⚠️ Sin acceso SSH
- ⚠️ Límite de ancho de banda
- ⚠️ No ideal para producción

### 🟠 Hostgator

Desde ~$3.75 USD/mes

- ✅ cPanel conocido
- ✅ PHP 8 + MySQL 5.7
- ✅ Soporte en español
- ✅ 1-click WordPress install

### ⚡ DigitalOcean VPS

Desde ~$6 USD/mes

- ✅ Control total del servidor
- ✅ Alta escalabilidad
- ⚠️ Requiere conocimientos SSH
- ⚠️ Configuración manual

🚀
Sección 06

## Guía de Despliegue en Hostinger

✅

Hostinger es el hosting más recomendado por su facilidad de uso, soporte en español, compatibilidad completa con PHP 8 y MySQL, y excelente precio para proyectos empresariales.

1
Contratar el Plan y Crear el Hosting

Ve a `hostinger.com`, contrata el plan Premium Shared Hosting. Accede al hPanel (panel de control) con las credenciales recibidas por correo.

2
Configurar el Dominio

En hPanel → Dominios, conecta tu dominio propio o usa el subdominio gratuito de Hostinger (`tuapp.hostingersite.com`). El sistema de DNS puede tardar hasta 24h en propagarse.

3
Crear la Base de Datos MySQL

En hPanel → Bases de Datos → MySQL, crea una nueva base de datos. Anota el nombre de la BD, usuario y contraseña generados — los necesitarás en el paso 6.

4
Importar el SQL en phpMyAdmin

En hPanel → Bases de Datos → phpMyAdmin. Selecciona tu base de datos, ve a la pestaña Importar, sube el archivo `soporte_db.sql` del proyecto y haz clic en Continuar.

5
Subir los Archivos del Proyecto

En hPanel → Administrador de Archivos, navega a la carpeta `public_html`. Sube los archivos del proyecto en un archivo ZIP y extráelo ahí. La estructura debe quedar:

public_html/ ├── config/ ├── database/ ├── includes/ ├── public/ ← Carpeta web principal ├── vendor/ └── composer.json
6
Actualizar config/database.php con las credenciales de Hostinger

Abre el archivo `config/database.php` desde el Administrador de Archivos (botón Editar) y actualiza con los datos del paso 3:

$host = 'localhost'; // siempre localhost en hosting compartido $dbname = 'u123456_soporte'; // nombre de BD dado por Hostinger $username = 'u123456_usuario'; // usuario dado por Hostinger $password = 'TuContraseñaSegura';// contraseña definida al crear la BD
7
Configurar la Carpeta Raíz del Dominio

En Hostinger, dentro de la configuración del dominio, cambia el Document Root para que apunte a `public_html/public` (la subcarpeta `/public`). Si no tienes esa opción, crea un archivo `.htaccess` en `public_html/` con:

RewriteEngine On RewriteRule ^(.*)$ public/$1 [L]
8
Activar SSL (HTTPS Gratuito)

En hPanel → Seguridad → SSL, activa el certificado SSL gratuito de Let's Encrypt para tu dominio. Esto tomará unos minutos y habilitará `https://` automáticamente.

9
Probar el Sistema en Producción

Abre tu dominio en el navegador, por ejemplo: `https://tudominio.com`. Accede con las credenciales del administrador y verifica que todas las funcionalidades operen correctamente.

⚠️

Permisos de carpetas: Asegúrate de que la carpeta `uploads/` tenga permisos `755` (o `777` en último caso) para que el sistema pueda guardar archivos. Esto se puede cambiar desde el Administrador de Archivos haciendo clic derecho → "Cambiar permisos".