Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/amarcano568/pensionalamedida/llms.txt

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

Pensión a la Medida utiliza el sistema de configuración basado en variables de entorno de Laravel, centralizado en el archivo .env ubicado en la raíz del proyecto. Cada entorno (desarrollo, staging, producción) mantiene su propio archivo .env con los valores correspondientes; estos valores son leídos en tiempo de ejecución mediante la función env() y los archivos de configuración bajo config/.

Archivo .env.example

El repositorio incluye un archivo .env.example con todas las variables disponibles y sus valores por defecto. Úsalo como plantilla para crear tu .env:
.env.example
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
Nunca confirmes el archivo .env en el control de versiones. El archivo está excluido mediante .gitignore precisamente para proteger credenciales de base de datos, claves de API y secretos de la aplicación.

Variables principales

A continuación se describe cada variable de entorno relevante para la operación de Pensión a la Medida:

Aplicación

VariableValor por defectoDescripción
APP_NAMELaravelNombre visible de la aplicación; se usa en notificaciones por correo y en la UI. Usa "Pensión a la Medida" en producción.
APP_ENVlocalEntorno de ejecución. Valores: local, staging, production.
APP_KEY(vacío)Clave de 32 caracteres para cifrado de sesiones y cookies. Debe generarse con php artisan key:generate.
APP_DEBUGtrueMuestra stack traces detallados en pantalla. Establece false en producción.
APP_URLhttp://localhostURL base de la aplicación, usada para generar enlaces absolutos y assets.
LOG_CHANNELstackCanal de logging. stack agrega múltiples canales; otros valores: single, daily, syslog.

Base de datos

VariableValor por defectoDescripción
DB_CONNECTIONmysqlDriver de base de datos. Pensión a la Medida está diseñado para MySQL (mysql).
DB_HOST127.0.0.1Hostname o IP del servidor MySQL.
DB_PORT3306Puerto TCP de MySQL.
DB_DATABASElaravelNombre de la base de datos. Cambia a pension_db o el nombre que prefieras.
DB_USERNAMErootUsuario de MySQL con permisos sobre DB_DATABASE.
DB_PASSWORD(vacío)Contraseña del usuario MySQL.

Correo electrónico

VariableValor por defectoDescripción
MAIL_MAILERsmtpDriver de correo. Opciones: smtp, sendmail, mailgun, ses, log.
MAIL_HOSTsmtp.mailtrap.ioServidor SMTP. Para producción usa tu proveedor real (p. ej. smtp.gmail.com).
MAIL_PORT2525Puerto SMTP. Valores comunes: 25, 465 (SSL), 587 (TLS), 2525.
MAIL_USERNAMEnullUsuario de autenticación SMTP.
MAIL_PASSWORDnullContraseña de autenticación SMTP.
MAIL_ENCRYPTIONnullCifrado de la conexión SMTP. Usa tls para el puerto 587 o ssl para el puerto 465.
MAIL_FROM_ADDRESSnullDirección de remitente para todos los correos salientes.
MAIL_FROM_NAME"${APP_NAME}"Nombre del remitente. Por defecto toma el valor de APP_NAME.

Sesión y caché

VariableValor por defectoDescripción
SESSION_DRIVERfileDriver de sesión. Opciones: file, cookie, database, redis, memcached.
SESSION_LIFETIME120Minutos de inactividad antes de que la sesión expire.
CACHE_DRIVERfileBackend de caché. Opciones: file, database, redis, memcached, array.

Colas

VariableValor por defectoDescripción
QUEUE_CONNECTIONsyncDriver de colas. sync ejecuta los jobs de forma síncrona (sin worker). Para producción con colas en background usa database o redis.

Redis

VariableValor por defectoDescripción
REDIS_HOST127.0.0.1Hostname del servidor Redis. Requerido si se usa Redis como driver de caché, sesión o colas.
REDIS_PASSWORDnullContraseña de autenticación de Redis. Deja null si no se configura autenticación.
REDIS_PORT6379Puerto TCP de Redis.

AWS S3

VariableValor por defectoDescripción
AWS_ACCESS_KEY_ID(vacío)ID de clave de acceso de AWS. Requerido solo si se usa el driver de almacenamiento s3.
AWS_SECRET_ACCESS_KEY(vacío)Clave de acceso secreta de AWS.
AWS_DEFAULT_REGIONus-east-1Región de AWS donde está el bucket S3.
AWS_BUCKET(vacío)Nombre del bucket S3 para almacenamiento de archivos.

Pusher y Broadcasting

VariableValor por defectoDescripción
PUSHER_APP_ID(vacío)ID de la aplicación Pusher. Requerido si se usa pusher como driver de broadcasting.
PUSHER_APP_KEY(vacío)Clave pública de la aplicación Pusher.
PUSHER_APP_SECRET(vacío)Clave secreta de la aplicación Pusher.
PUSHER_APP_CLUSTERmt1Clúster de Pusher (región). Ejemplos: mt1, eu, ap1.
MIX_PUSHER_APP_KEY"${PUSHER_APP_KEY}"Expone PUSHER_APP_KEY al frontend JavaScript vía Laravel Mix.
MIX_PUSHER_APP_CLUSTER"${PUSHER_APP_CLUSTER}"Expone PUSHER_APP_CLUSTER al frontend JavaScript vía Laravel Mix.
APP_KEY es obligatorio para que funcione el cifrado de sesiones, cookies y datos sensibles. Si la variable está vacía al intentar iniciar la aplicación, Laravel lanzará un error. Genera la clave con php artisan key:generate — el comando escribe el valor directamente en tu .env.

Compilación de assets

Pensión a la Medida utiliza Laravel Mix (una capa sobre Webpack) para compilar y empaquetar los assets del frontend. La configuración se encuentra en webpack.mix.js:
webpack.mix.js
const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css');
Mix compila el JavaScript de la aplicación (con Bootstrap 4, jQuery 3, SweetAlert2 y PNotify) y transpila el SCSS a CSS. Los archivos de salida se escriben en public/js/ y public/css/. Usa los siguientes comandos npm según el entorno:
ComandoDescripción
npm run devAlias de development. Compila los assets en modo desarrollo (sin minificación, con source maps).
npm run developmentCompilación completa en modo desarrollo con reporte de progreso.
npm run watchInicia un watcher que recompila automáticamente al detectar cambios en resources/. Ideal para desarrollo local.
npm run watch-pollIgual que watch pero usa polling en lugar de eventos del sistema de archivos (útil en entornos virtualizados).
npm run hotActiva el Hot Module Replacement (HMR) con webpack-dev-server para recarga instantánea en el navegador.
npm run prodAlias de production. Forma abreviada del comando de compilación para producción.
npm run productionCompila y minifica los assets para producción (sin reporte de progreso).

Build docs developers (and LLMs) love