Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/keving5726/megacreative/llms.txt

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

All runtime configuration in Mega Creative is managed through a single .env file located in the project root. Laravel reads this file at boot time and exposes every value through the global env() helper and the config() facade. No configuration changes should be made directly to the files inside config/ — always set values in .env so that environment-specific overrides stay out of source control.
Never commit a real .env file containing credentials, secret keys, or passwords to source control. The .env file is listed in .gitignore for exactly this reason. Anyone with access to your repository must not be able to read your production database password or application encryption key.
The .env.example file is tracked in Git and serves as the canonical reference template for all supported environment variables. When setting up a new environment, always start by copying this file: cp .env.example .env.

Application Settings

These variables control the fundamental identity and behaviour of the Laravel application.
VariableDefaultDescription
APP_NAMELaravelHuman-readable application name. Used in notifications and page titles. Set this to Mega Creative.
APP_ENVlocalDeclares the current environment. Use local for development and production for live deployments.
APP_KEY(empty)A 32-character base64-encoded encryption key used by Laravel’s encrypter and cookie signer. Must be set before the app can run — generate it with php artisan key:generate.
APP_DEBUGtrueWhen true, full stack traces and debug information are displayed on error pages. Set to false in production.
APP_URLhttp://localhostThe canonical root URL of the application. Used by Artisan commands and asset helpers to construct absolute URLs.

Database Configuration

Mega Creative uses MySQL as its default database driver. All connection parameters are read from the environment and passed to config/database.php — the MySQL connection block uses utf8mb4 charset and utf8mb4_unicode_ci collation.
VariableDefaultDescription
DB_CONNECTIONmysqlThe database driver. Supported values (by Laravel core): mysql, pgsql, sqlite, sqlsrv. Mega Creative is built and tested against mysql.
DB_HOST127.0.0.1Hostname or IP address of the MySQL server. Use 127.0.0.1 for a local instance.
DB_PORT3306TCP port MySQL listens on. The default MySQL port is 3306.
DB_DATABASElaravelName of the database schema to connect to. Create this schema in MySQL before running migrations.
DB_USERNAMErootMySQL username with read/write access to DB_DATABASE.
DB_PASSWORD(empty)Password for the MySQL user. Leave blank if your local root user has no password set.

Broadcasting, Session & Cache

VariableDefaultDescription
BROADCAST_DRIVERlogDriver used for broadcasting events. log writes broadcast output to the Laravel log file — suitable for local development where real-time broadcasting is not needed.
SESSION_DRIVERfileWhere Laravel stores session data. file writes sessions to storage/framework/sessions/. Alternatives include database, redis, and cookie.
SESSION_LIFETIME120Number of minutes before an idle session expires and the user is logged out.
CACHE_DRIVERfileThe cache backend. file stores cached data on disk under storage/framework/cache/. Use redis or memcached for higher-performance deployments.
QUEUE_CONNECTIONsyncHow queued jobs are processed. sync runs jobs immediately and inline — suitable for a registry app with no background processing needs.

Redis

These variables configure the Redis connection used by Laravel’s cache, queue, and session drivers when CACHE_DRIVER, QUEUE_CONNECTION, or SESSION_DRIVER is set to redis. Mega Creative’s default configuration uses the file driver, so Redis is not required for a standard local setup.
VariableDefaultDescription
REDIS_HOST127.0.0.1Hostname or IP address of the Redis server.
REDIS_PASSWORDnullPassword for the Redis connection. Set to null when Redis has no authentication configured.
REDIS_PORT6379TCP port Redis listens on. The default Redis port is 6379.

Mail Configuration

Mega Creative ships with standard Laravel Mailable support. The defaults point to Mailtrap, which is ideal for local development because it captures outgoing email without delivering it to real recipients.
VariableDefaultDescription
MAIL_DRIVERsmtpTransport driver used to send email. Common options: smtp, sendmail, mailgun, log.
MAIL_HOSTsmtp.mailtrap.ioSMTP server hostname. Replace with your production SMTP host for live deployments.
MAIL_PORT2525SMTP port. Mailtrap uses 2525; standard SMTP ports are 25, 465 (SSL), and 587 (TLS).
MAIL_USERNAMEnullSMTP authentication username (provided by your mail service).
MAIL_PASSWORDnullSMTP authentication password.
MAIL_ENCRYPTIONnullEncryption protocol: tls, ssl, or null for no encryption (Mailtrap accepts all three).

AWS (File Storage)

Laravel ships with an S3 storage driver. These variables are not used by Mega Creative’s default configuration but are present in .env.example as part of the standard Laravel scaffold. Leave them empty unless you configure S3-backed file storage.
VariableDefaultDescription
AWS_ACCESS_KEY_ID(empty)AWS IAM access key ID for S3 authentication.
AWS_SECRET_ACCESS_KEY(empty)AWS IAM secret access key paired with AWS_ACCESS_KEY_ID.
AWS_DEFAULT_REGIONus-east-1AWS region where your S3 bucket is hosted.
AWS_BUCKET(empty)Name of the S3 bucket to use for file storage.

Pusher (Real-Time Events)

Laravel Mix exposes Pusher credentials to client-side JavaScript through the MIX_ prefixed variables. These are not required for Mega Creative’s core student registry functionality, but are included in .env.example as part of the standard Laravel scaffold.
VariableDefaultDescription
PUSHER_APP_ID(empty)Pusher application ID.
PUSHER_APP_KEY(empty)Pusher application key.
PUSHER_APP_SECRET(empty)Pusher application secret.
PUSHER_APP_CLUSTERmt1Pusher cluster identifier (e.g., mt1, us2, eu).
MIX_PUSHER_APP_KEY"${PUSHER_APP_KEY}"Exposes PUSHER_APP_KEY to front-end JavaScript bundles compiled by Laravel Mix.
MIX_PUSHER_APP_CLUSTER"${PUSHER_APP_CLUSTER}"Exposes PUSHER_APP_CLUSTER to front-end JavaScript bundles compiled by Laravel Mix.

Log Configuration

VariableDefaultDescription
LOG_CHANNELstackDefines which logging channel (or stack of channels) Laravel writes to. The stack driver aggregates multiple channels — by default it writes to storage/logs/laravel.log. Other options include single, daily, syslog, and errorlog.

Complete .env Example

The block below reproduces the exact contents of .env.example as it exists in the repository. Copy this file to .env and update the values noted in comments before running the application.
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_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

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}"
After copying to .env, set at minimum: APP_NAME (e.g. Mega Creative), APP_KEY (run php artisan key:generate), DB_DATABASE, DB_USERNAME, and DB_PASSWORD to match your local MySQL setup.
After editing your .env file, run php artisan config:clear to flush the configuration cache and ensure Laravel picks up your changes immediately.
php artisan config:clear

Build docs developers (and LLMs) love