# 🚀 Guía Paso a Paso para Instalar Kaysam Pets en Hosting cPanel (PHP + MySQL)

Este directorio contiene la versión **100% funcional en PHP y MySQL** lista para ser subida e instalada en cualquier servidor de hosting que cuente con panel de control **cPanel**.

---

## 📁 Archivos Incluidos en este Paquete

| Archivo / Carpeta | Descripción |
|---|---|
| `db_schema.sql` | Script SQL completo con las tablas (`productos`, `ventas`, `movimientos`, `configuracion`) y datos de prueba. |
| `config.php` | Archivo de conexión PDO a MySQL y constantes de la aplicación. |
| `index.php` | Dashboard Principal con métricas en tiempo real. |
| `productos.php` | Catálogo e Inventario: Búsqueda, filtros por categoría, edición de stock, creación y eliminación de productos. |
| `escanear.php` | Módulo de Escáner QR / Código de Barras con lectura de cámara en HTML5 y registro inmediato de ventas. |
| `finanzas.php` | Módulo de Finanzas, cálculo de IVA (19%), simulador de márgenes e historial de ventas. |
| `api.php` | Backend REST JSON para peticiones AJAX en tiempo real sin recargar página. |
| `header.php` / `footer.php` | Interfaz responsive, navegación lateral, menú móvil y estilos Tailwind CSS. |
| `.htaccess` | Reglas de seguridad y optimización para servidor Apache / cPanel. |

---

## 🛠️ Pasos de Instalación en cPanel

### PASO 1: Crear la Base de Datos y Usuario en cPanel
1. Inicie sesión en su panel de administración de hosting **cPanel**.
2. Diríjase a la sección **Bases de Datos** y haga clic en **Bases de datos MySQL®**.
3. En **Crear una nueva base de datos**, ingrese un nombre (por ejemplo: `kaysam_inventario`) y haga clic en **Crear base de datos**.
4. En la sección **Usuarios MySQL**, cree un nuevo usuario (por ejemplo: `kaysam_user`) y asigne una contraseña segura.
5. En la sección **Añadir usuario a la base de datos**, seleccione el usuario y la base de datos creados, haga clic en **Añadir** y marque la casilla **TODOS LOS PRIVILEGIOS** (ALL PRIVILEGES).

---

### PASO 2: Importar la Estructura de Tablas (`db_schema.sql`)
1. En su cPanel, busque e ingrese a **phpMyAdmin**.
2. En el panel izquierdo de phpMyAdmin, haga clic en la base de datos recién creada (`kaysam_inventario`).
3. Haga clic en la pestaña superior **Importar**.
4. En la opción **Seleccionar archivo**, suba el archivo `db_schema.sql` ubicado en este directorio.
5. Presione el botón **Continuar** al final de la página. Verá el mensaje verde indicando que la importación se realizó con éxito.

---

### PASO 3: Configurar Credenciales en `config.php`
1. Abra el archivo `config.php` en un editor de texto o en el **Administrador de Archivos** de cPanel.
2. Modifique las líneas con las credenciales creadas en el PASO 1:

```php
define('DB_HOST', 'localhost');          // Dejar 'localhost' en cPanel
define('DB_NAME', 'suusuario_kaysam');   // Nombre exacto de la BD en cPanel
define('DB_USER', 'suusuario_user');     // Usuario exacto creado en cPanel
define('DB_PASS', 'SuContraseña123!');   // Contraseña del usuario MySQL
```

---

### PASO 4: Subir los Archivos al Hosting
1. En cPanel, ingrese al **Administrador de Archivos** (File Manager).
2. Abra la carpeta **`public_html`** (o el subdominio/carpeta donde desea publicar el sistema).
3. Suba todos los archivos de esta carpeta (`index.php`, `productos.php`, `escanear.php`, `finanzas.php`, `api.php`, `config.php`, `header.php`, `footer.php`, `.htaccess`).
4. ¡Listo! Ingrese a la dirección URL de su sitio web (ejemplo: `https://midominio.com/`) desde su navegador web o teléfono móvil.

---

## 🔒 Requisitos Técnicos del Servidor Hosting
- **Versión de PHP:** PHP 7.4, 8.0, 8.1, 8.2 o superior.
- **Extensiones PHP requeridas:** `pdo_mysql`, `json`, `mbstring`.
- **Base de Datos:** MySQL 5.7+ o MariaDB 10.3+.
- **Navegador Web / Celular:** Chrome, Safari, Firefox o Edge con permisos de cámara activados para el escáner QR.

---

## 📞 Soporte & Garantía Kaysam Pets
Este código fue generado y optimizado para máxima compatibilidad con servidores cPanel en entornos de producción con soporte de transacciones MySQL y diseño totalmente responsive.
