Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/AlexQuintana147/EducaPeru/llms.txt

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

All runtime configuration for EducaPerú is managed through the .env file located at the root of the project. This file is never committed to version control — it is created locally by copying .env.example (either automatically by composer setup or manually with cp .env.example .env). Edit it freely to match your local or production environment.
Never set APP_DEBUG=true in a production environment. When debug mode is on, detailed exception stack traces, environment variables, and configuration values are rendered directly in the browser. This can expose sensitive credentials and internal application structure to end users.

Application

These variables control the fundamental identity and behaviour of the Laravel application.
VariableDefaultDescription
APP_NAMELaravelThe display name of the application, used in notifications, email subjects, and the browser title.
APP_ENVlocalThe current environment. Accepted values: local, staging, production. Affects logging, caching, and error handling behaviour.
APP_KEY(empty)A 32-character base64-encoded encryption key generated by php artisan key:generate. Required — the app will refuse to boot without it.
APP_DEBUGtrueWhen true, detailed error pages with full stack traces are shown. Must be false in production.
APP_URLhttp://localhostThe full base URL of your application, including the scheme. Used to generate absolute URLs in emails and console commands.
APP_LOCALEenThe default locale for translations and date formatting.
APP_FALLBACK_LOCALEenThe locale used when a translation key is missing from APP_LOCALE.
APP_FAKER_LOCALEen_USThe locale used by Faker when generating seed data in database factories.
APP_MAINTENANCE_DRIVERfileStorage backend for maintenance-mode state. Use file (default) or database if running multiple server nodes.
BCRYPT_ROUNDS12The number of bcrypt hashing rounds used when storing passwords. Higher values increase security but slow down hashing.

Logging

Laravel’s logging stack is powered by Monolog. These variables control which channels receive log output and the minimum severity level that is recorded.
VariableDefaultDescription
LOG_CHANNELstackThe default logging channel. stack aggregates multiple channels defined in config/logging.php.
LOG_STACKsingleWhen LOG_CHANNEL=stack, this comma-separated list specifies which channels are stacked together (e.g. single, daily, slack).
LOG_DEPRECATIONS_CHANNELnullChannel that receives PHP and Laravel deprecation notices. Set to null to discard them.
LOG_LEVELdebugMinimum severity level to log. Standard levels from lowest to highest: debug, info, notice, warning, error, critical, alert, emergency.

Database

EducaPerú defaults to SQLite, which requires no server and no credentials. Switch to MySQL or PostgreSQL by changing DB_CONNECTION and uncommenting the related variables.
With the default SQLite configuration, no database server is needed at all. Laravel automatically creates the database file at database/database.sqlite the first time you run php artisan migrate. This makes local onboarding instant.
VariableDefaultDescription
DB_CONNECTIONsqliteThe database driver to use. Supported values: sqlite, mysql, pgsql, sqlsrv.
DB_HOST127.0.0.1The hostname of your database server. Required for mysql, pgsql, and sqlsrv.
DB_PORT3306The port your database server listens on. Default is 3306 for MySQL; use 5432 for PostgreSQL.
DB_DATABASElaravelThe name of the database to connect to, or the absolute/relative path to the SQLite file.
DB_USERNAMErootThe database user. Not required for SQLite.
DB_PASSWORD(empty)The database password. Not required for SQLite.

Session & Cache

These variables control how user sessions, application cache, and queued jobs are persisted.
VariableDefaultDescription
SESSION_DRIVERdatabaseStorage backend for sessions. Options: database, file, cookie, redis, array.
SESSION_LIFETIME120Number of minutes of inactivity before a session is considered expired.
SESSION_ENCRYPTfalseWhen true, session data is encrypted at rest using APP_KEY.
SESSION_PATH/The path for which the session cookie is valid. Use / to make it available across the entire application.
SESSION_DOMAINnullThe domain the session cookie is available to. null defaults to the current request host.
CACHE_STOREdatabaseThe default cache store. Options: database, file, redis, memcached, array.
QUEUE_CONNECTIONdatabaseThe queue driver. Options: database, sync, redis, beanstalkd, sqs. Use sync to process jobs immediately without a worker.

Broadcast, Filesystem & Queue

These variables control real-time event broadcasting, file storage, and the queue connection used across the application.
VariableDefaultDescription
BROADCAST_CONNECTIONlogDriver used to broadcast server-side events to clients. Options: log, pusher, ably, redis, null. The log driver writes events to the log file instead of broadcasting them live.
FILESYSTEM_DISKlocalThe default storage disk. Options: local (private, under storage/app), public (web-accessible), s3 (AWS S3).

Mail

Email sending is configured through the MAIL_* variables. The default log mailer writes all outgoing emails to the Laravel log instead of sending them — ideal for local development.
VariableDefaultDescription
MAIL_MAILERlogThe mail transport to use. Options: log, smtp, sendmail, mailgun, ses, postmark.
MAIL_SCHEMEnullThe encryption scheme for SMTP connections. Accepted values: null (auto-detect), ssl, tls. Set to ssl when using port 465.
MAIL_HOST127.0.0.1Hostname of the SMTP server. Only used when MAIL_MAILER=smtp.
MAIL_PORT2525Port of the SMTP server. Common values: 25, 465 (SSL), 587 (STARTTLS), 2525.
MAIL_USERNAMEnullSMTP authentication username.
MAIL_PASSWORDnullSMTP authentication password.
MAIL_FROM_ADDRESShello@example.comThe email address that appears in the From field of all outgoing messages.
MAIL_FROM_NAME${APP_NAME}The sender name that appears alongside MAIL_FROM_ADDRESS. Inherits APP_NAME by default.

Redis

Redis can be used as the driver for cache, queues, and sessions. These variables are only required if you switch any of those services to use the redis driver.
VariableDefaultDescription
REDIS_CLIENTphpredisThe PHP Redis client library. Options: phpredis (requires the ext-redis PHP extension), predis (pure PHP, install via composer require predis/predis).
REDIS_HOST127.0.0.1Hostname of the Redis server.
REDIS_PASSWORDnullPassword for Redis authentication. Set to null if your Redis instance has no password.
REDIS_PORT6379Port Redis is listening on.

Memcached

Memcached is an alternative in-memory cache backend. These variables are only relevant when CACHE_STORE=memcached.
VariableDefaultDescription
MEMCACHED_HOST127.0.0.1Hostname of the Memcached server.

AWS

AWS credentials and S3 configuration are used when FILESYSTEM_DISK=s3 or when the SES mail driver is active. All values are intentionally left empty in .env.example and should be provided through a secrets manager or CI/CD environment in production.
VariableDefaultDescription
AWS_ACCESS_KEY_ID(empty)Your AWS IAM access key ID.
AWS_SECRET_ACCESS_KEY(empty)Your AWS IAM secret access key. Treat this like a password — never commit it to version control.
AWS_DEFAULT_REGIONus-east-1The AWS region where your S3 bucket or SES endpoint is located.
AWS_BUCKET(empty)The name of the S3 bucket to use for file storage when FILESYSTEM_DISK=s3.
AWS_USE_PATH_STYLE_ENDPOINTfalseSet to true when using a path-style S3-compatible endpoint (e.g. MinIO, LocalStack).

Vite / Frontend

VariableDefaultDescription
VITE_APP_NAME${APP_NAME}Exposes APP_NAME to client-side JavaScript via import.meta.env.VITE_APP_NAME. Inherits the value of APP_NAME automatically.

Build docs developers (and LLMs) love