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:
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
| Variable | Valor por defecto | Descripción |
|---|
APP_NAME | Laravel | Nombre 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_ENV | local | Entorno 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_DEBUG | true | Muestra stack traces detallados en pantalla. Establece false en producción. |
APP_URL | http://localhost | URL base de la aplicación, usada para generar enlaces absolutos y assets. |
LOG_CHANNEL | stack | Canal de logging. stack agrega múltiples canales; otros valores: single, daily, syslog. |
Base de datos
| Variable | Valor por defecto | Descripción |
|---|
DB_CONNECTION | mysql | Driver de base de datos. Pensión a la Medida está diseñado para MySQL (mysql). |
DB_HOST | 127.0.0.1 | Hostname o IP del servidor MySQL. |
DB_PORT | 3306 | Puerto TCP de MySQL. |
DB_DATABASE | laravel | Nombre de la base de datos. Cambia a pension_db o el nombre que prefieras. |
DB_USERNAME | root | Usuario de MySQL con permisos sobre DB_DATABASE. |
DB_PASSWORD | (vacío) | Contraseña del usuario MySQL. |
Correo electrónico
| Variable | Valor por defecto | Descripción |
|---|
MAIL_MAILER | smtp | Driver de correo. Opciones: smtp, sendmail, mailgun, ses, log. |
MAIL_HOST | smtp.mailtrap.io | Servidor SMTP. Para producción usa tu proveedor real (p. ej. smtp.gmail.com). |
MAIL_PORT | 2525 | Puerto SMTP. Valores comunes: 25, 465 (SSL), 587 (TLS), 2525. |
MAIL_USERNAME | null | Usuario de autenticación SMTP. |
MAIL_PASSWORD | null | Contraseña de autenticación SMTP. |
MAIL_ENCRYPTION | null | Cifrado de la conexión SMTP. Usa tls para el puerto 587 o ssl para el puerto 465. |
MAIL_FROM_ADDRESS | null | Direcció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é
| Variable | Valor por defecto | Descripción |
|---|
SESSION_DRIVER | file | Driver de sesión. Opciones: file, cookie, database, redis, memcached. |
SESSION_LIFETIME | 120 | Minutos de inactividad antes de que la sesión expire. |
CACHE_DRIVER | file | Backend de caché. Opciones: file, database, redis, memcached, array. |
Colas
| Variable | Valor por defecto | Descripción |
|---|
QUEUE_CONNECTION | sync | Driver de colas. sync ejecuta los jobs de forma síncrona (sin worker). Para producción con colas en background usa database o redis. |
Redis
| Variable | Valor por defecto | Descripción |
|---|
REDIS_HOST | 127.0.0.1 | Hostname del servidor Redis. Requerido si se usa Redis como driver de caché, sesión o colas. |
REDIS_PASSWORD | null | Contraseña de autenticación de Redis. Deja null si no se configura autenticación. |
REDIS_PORT | 6379 | Puerto TCP de Redis. |
AWS S3
| Variable | Valor por defecto | Descripció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_REGION | us-east-1 | Región de AWS donde está el bucket S3. |
AWS_BUCKET | (vacío) | Nombre del bucket S3 para almacenamiento de archivos. |
Pusher y Broadcasting
| Variable | Valor por defecto | Descripció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_CLUSTER | mt1 | Clú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:
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:
| Comando | Descripción |
|---|
npm run dev | Alias de development. Compila los assets en modo desarrollo (sin minificación, con source maps). |
npm run development | Compilación completa en modo desarrollo con reporte de progreso. |
npm run watch | Inicia un watcher que recompila automáticamente al detectar cambios en resources/. Ideal para desarrollo local. |
npm run watch-poll | Igual que watch pero usa polling en lugar de eventos del sistema de archivos (útil en entornos virtualizados). |
npm run hot | Activa el Hot Module Replacement (HMR) con webpack-dev-server para recarga instantánea en el navegador. |
npm run prod | Alias de production. Forma abreviada del comando de compilación para producción. |
npm run production | Compila y minifica los assets para producción (sin reporte de progreso). |