Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/astrxnomo/eventify-app/llms.txt

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

Eventify follows the standard Laravel convention of storing all environment-specific configuration in a .env file at the project root. This file is never committed to version control — it exists only on the machine running the application. The .env.example file committed to the repository documents every variable the application reads, and serves as the authoritative template you copy when setting up a new environment. To create your local configuration file, run:
cp .env.example .env
Then edit .env with the values appropriate for your environment. The sections below document every variable, grouped by concern.

Application

These variables control the fundamental identity and runtime behavior of the Laravel application.
Always set APP_DEBUG=false in production. When debug mode is enabled, detailed exception stack traces — including environment variables and database query bindings — are rendered directly in the browser, which can expose sensitive information to end users.
APP_NAME
string
default:"Laravel"
The human-readable name of the application. Laravel uses this value in notification messages, email subjects, and the MAIL_FROM_NAME variable when it is set to "${APP_NAME}".
APP_NAME=Eventify
APP_ENV
string
default:"local"
Describes the current runtime environment. Common values are local, staging, and production. Some Laravel behaviors (such as exception handling verbosity) change based on this value.
APP_ENV=production
APP_KEY
string
required
A 32-character random string used by Laravel’s encrypter for AES-256-CBC encryption of cookies, sessions, and other sensitive data. The application will throw a runtime exception if this value is empty. Generate it with:
php artisan key:generate
APP_DEBUG
boolean
default:"true"
Controls whether Laravel renders full exception stack traces in the browser. Set to false in any environment accessible by end users.
APP_DEBUG=false
APP_URL
string
default:"http://localhost"
The root URL of the application. Artisan uses this when generating URLs from the command line (e.g., in queued jobs or scheduled commands). Set this to your public domain in production.
APP_URL=https://events.example.com

Logging

These variables control how Laravel writes application logs.
LOG_CHANNEL
string
default:"stack"
The default log channel. The stack driver aggregates multiple channels into one. Other built-in options include single, daily, stderr, and syslog.
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL
string
default:"null"
The channel used to log PHP and Laravel deprecation warnings. Set to null to discard deprecation notices, or point it to a named channel to capture them separately.
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL
string
default:"debug"
The minimum severity level that Laravel will write to the log. Standard PSR-3 levels apply: debug, info, notice, warning, error, critical, alert, and emergency. In production, set this to error or higher to reduce log noise.
LOG_LEVEL=error

Database

Eventify requires a MySQL database. These variables configure the PDO connection that Laravel uses for all Eloquent queries, migrations, and seeders.
DB_CONNECTION
string
default:"mysql"
The database driver. Eventify is built for and tested against mysql. Changing this to another driver (e.g., pgsql) is not officially supported.
DB_HOST
string
default:"127.0.0.1"
The hostname or IP address of your MySQL server.
DB_HOST=127.0.0.1
DB_PORT
integer
default:"3306"
The TCP port MySQL is listening on. The default MySQL port is 3306.
DB_DATABASE
string
default:"laravel"
The name of the MySQL database Eventify will use. The .env.example default is laravel; update this to your chosen database name. You must create the database before running migrations:
CREATE DATABASE eventify CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
DB_DATABASE=eventify
DB_USERNAME
string
default:"root"
The MySQL user that Laravel will authenticate as. The .env.example default is root. Ensure this user has CREATE, ALTER, DROP, SELECT, INSERT, UPDATE, and DELETE privileges on DB_DATABASE.
DB_USERNAME=eventify_user
DB_PASSWORD
string
default:""
The password for DB_USERNAME. The .env.example default is an empty string, which is common for a local root user with no password set. Set a strong password for any shared or production environment.
DB_PASSWORD=a_strong_password

File Storage

Eventify uses Laravel’s filesystem abstraction to store uploaded event cover images.
FILESYSTEM_DISK
string
default:"local"
The default storage disk. The local driver stores files in storage/app. Uploaded event images are written to storage/app/public, which is exposed to the web via a symbolic link.
FILESYSTEM_DISK=local
After setting this variable, you must run php artisan storage:link to create the public/storage → storage/app/public symlink. Without this symlink, uploaded event images will not be served by the web server.

Cache & Session

BROADCAST_DRIVER
string
default:"log"
The driver used for broadcasting real-time events. The default log driver writes broadcast events to the application log without requiring any additional infrastructure. Switch to pusher or redis if you add real-time features.
BROADCAST_DRIVER=log
CACHE_DRIVER
string
default:"file"
The cache backend Laravel uses for application caching. The default file driver requires no additional infrastructure and stores cache entries in storage/framework/cache. For higher-traffic deployments, consider switching to redis or memcached.
CACHE_DRIVER=file
SESSION_DRIVER
string
default:"file"
Where Laravel stores user session data. The file driver persists sessions to storage/framework/sessions and is appropriate for single-server deployments. Switch to database or redis when running multiple application servers behind a load balancer.
SESSION_DRIVER=file
SESSION_LIFETIME
integer
default:"120"
How long a session remains valid, in minutes. After this period of inactivity, the user’s session expires and they are redirected to the login page. The default is 120 minutes (two hours).
SESSION_LIFETIME=120

Queue

QUEUE_CONNECTION
string
default:"sync"
The queue driver that Laravel dispatches background jobs to. The default sync driver executes jobs immediately and inline within the current request — no separate worker process is required. This is suitable for development and low-traffic deployments.For production workloads where jobs (such as sending emails) should not block the HTTP response, switch to database (requires a jobs table migration) or redis.
QUEUE_CONNECTION=sync
If you switch to the database driver, run php artisan queue:table && php artisan migrate to create the jobs table, then start a worker with php artisan queue:work.

Mail

Eventify uses Laravel’s mail system for transactional emails such as email verification and password resets. These variables configure the SMTP transport.
MAIL_MAILER
string
default:"smtp"
The mail transport driver. Common values are smtp, sendmail, and log. Use log during development to write outgoing emails to the Laravel log instead of sending them.
MAIL_MAILER=smtp
MAIL_HOST
string
default:"mailpit"
The hostname of the SMTP server. The default mailpit is a local mail-catching tool bundled with Laravel Sail. For production, replace this with your SMTP provider’s hostname (e.g., smtp.mailgun.org, smtp.sendgrid.net).
MAIL_HOST=smtp.mailgun.org
MAIL_PORT
integer
default:"1025"
The SMTP port. Common values are 587 (STARTTLS), 465 (SSL), and 25 (unencrypted). The default 1025 is the Mailpit local catch-all port.
MAIL_PORT=587
MAIL_USERNAME
string
default:"null"
The username (often the sending email address) used to authenticate with the SMTP server. Leave null for servers that do not require authentication.
MAIL_USERNAME=postmaster@mg.example.com
MAIL_PASSWORD
string
default:"null"
The password for MAIL_USERNAME. Leave null if the SMTP server does not require authentication.
MAIL_PASSWORD=your_smtp_password
MAIL_ENCRYPTION
string
default:"null"
The encryption protocol used for the SMTP connection. Set to tls when using port 587 (STARTTLS) or ssl when using port 465. The default null sends mail without transport encryption, which is only appropriate for local catch-all tools like Mailpit.
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS
string
default:"hello@example.com"
The email address that appears in the From: header of all outgoing mail sent by Eventify.
MAIL_FROM_ADDRESS="no-reply@events.example.com"
MAIL_FROM_NAME
string
default:"${APP_NAME}"
The sender name that appears alongside MAIL_FROM_ADDRESS in the From: header. The default value "${APP_NAME}" dynamically inherits whatever you set for APP_NAME.
MAIL_FROM_NAME="Eventify"

Build docs developers (and LLMs) love