Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jpbarbatic/webapp/llms.txt

Use this file to discover all available pages before exploring further.

La configuración del entorno es el primer paso antes de ejecutar WebApp Admin Panel. La aplicación lee todas sus constantes críticas —credenciales de base de datos, modo de depuración y nombre del sitio— desde un único archivo config.php que reside en la raíz del proyecto. Este archivo nunca se incluye en el repositorio ni se sube al servidor FTP de forma automática, lo que garantiza que los datos sensibles permanezcan fuera del control de versiones.

Archivo config.php

El repositorio incluye un archivo de ejemplo llamado config-ejemplo.php que contiene todas las constantes necesarias con valores de desarrollo. Para poner en marcha la aplicación, copia ese archivo con el nombre config.php en la raíz del proyecto y ajusta los valores a tu entorno:
cp config-ejemplo.php config.php
El archivo config.php está listado en .gitignore y excluido del script de sincronización FTP (sync.sh), por lo que nunca se enviará al repositorio ni al servidor de forma accidental. A continuación se muestra el contenido completo de config-ejemplo.php tal como aparece en el repositorio:
<?php
// Depuración de errores
ini_set('display_errors','On');
ini_set('error_reporting', E_ALL );
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// Conexión a base de datos
define('DEBUG', true);
define('DB_TYPE', 'mysql');
define('DB_HOST', '127.0.0.1');
define('DB_USER', 'root');
define('DB_PASS', 'example');
define('DB_NAME', 'empresa');
define('DB_PORT', 3308);

define('NOMBRE_WEB', 'Mi Empresa');

Referencia de constantes

ConstanteTipoDescripción
DEBUGboolActiva la visualización de errores PHP y mensajes de error detallados de PDO. Debe ser false en producción.
DB_TYPEstringTipo de base de datos. Valores admitidos: 'mysql' o 'sqlite'.
DB_HOSTstringDirección del servidor de base de datos, por ejemplo '127.0.0.1'.
DB_USERstringNombre de usuario para conectarse a la base de datos.
DB_PASSstringContraseña del usuario de base de datos.
DB_NAMEstringNombre de la base de datos, por ejemplo 'empresa'.
DB_PORTintPuerto del servidor de base de datos. El puerto estándar de MySQL es 3306; el ejemplo utiliza 3308.
NOMBRE_WEBstringNombre del sitio que se muestra en la etiqueta <title> del navegador y en la cabecera de la navegación.
URL_BASEstringURL base de la aplicación. No aparece en config-ejemplo.php pero es referenciada internamente por el backend y las plantillas. Debe definirse manualmente, por ejemplo: 'http://localhost:9000/'.
La constante URL_BASE no está incluida en config-ejemplo.php pero el backend la requiere en tiempo de ejecución. Añade la siguiente línea a tu config.php y ajusta el valor al dominio o ruta real de tu instalación:
define('URL_BASE', 'http://localhost:9000/');

Entorno de desarrollo vs producción

En un entorno local se recomienda activar el modo depuración y apuntar a una base de datos MySQL local. El servidor integrado de PHP escucha en el puerto 9000 y sirve los archivos desde el directorio public/.
define('DEBUG', true);
define('DB_TYPE', 'mysql');
define('DB_HOST', '127.0.0.1');
define('DB_USER', 'root');
define('DB_PASS', 'example');
define('DB_NAME', 'empresa');
define('DB_PORT', 3308);

define('NOMBRE_WEB', 'Mi Empresa');
define('URL_BASE', 'http://localhost:9000/');
Arranca el servidor de desarrollo con:
npm run serve

Dependencias PHP

La gestión de dependencias PHP se realiza con Composer. El archivo composer.json del proyecto declara las siguientes dependencias:
{
    "require": {
        "tecnickcom/tc-lib-pdf": "^8.33",
        "mpdf/mpdf": "^8.3"
    }
}
Las dependencias incluyen mPDF y su librería base tc-lib-pdf, utilizadas para la generación de documentos PDF desde el panel de administración. Para instalarlas, ejecuta el siguiente comando en la raíz del proyecto:
composer install
Esto creará el directorio vendor/ con todas las dependencias. Dicho directorio está incluido en .gitignore y excluido del script FTP, por lo que deberás ejecutar composer install también en el servidor remoto, o bien subir la carpeta vendor/ de forma manual si el servidor no dispone de Composer.

Servidor de desarrollo

El archivo package.json define un script serve que lanza el servidor integrado de PHP apuntando al directorio public/ como raíz web:
npm run serve
Esto equivale a ejecutar:
php -S 0.0.0.0:9000 -t public
Una vez iniciado, la aplicación estará disponible en http://localhost:9000/. El servidor integrado de PHP es suficiente para desarrollo local, pero no debe utilizarse en producción.
Nunca confirmes config.php ni .env en el repositorio de Git. Ambos archivos están incluidos en .gitignore precisamente para evitar que las credenciales queden expuestas en el historial de versiones. Si trabajas con un repositorio remoto (GitHub, GitLab, etc.), verifica que estos archivos no aparezcan en ningún commit antes de hacer push.

Build docs developers (and LLMs) love