Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Emmanuel-Mtz-777/TechStore-Explorer/llms.txt

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

All TechStore Explorer configuration is managed through a single .env file at the root of the project. This file is never committed to version control — instead, a .env.example template is provided that lists every supported variable with safe default values. Before running the application for the first time, copy the example file and fill in the values that match your local environment:
cp .env.example .env
The sections below document every variable group you need to configure.

Application Settings

These variables control the core identity and runtime behaviour of the Laravel application.
VariableDefaultDescription
APP_NAMELaravelThe human-readable name of the application. Appears in email subjects and the UI. Set to TechStore for consistency with the project.
APP_ENVlocalThe current environment. Use local for development, production for live deployments.
APP_DEBUGtrueWhen true, detailed error pages with stack traces are shown. Set to false in production to avoid leaking sensitive information.
APP_URLhttp://localhostThe base URL of the application. Used when generating URLs in emails and API responses. Set to http://127.0.0.1:8000 for local development.

Database

TechStore Explorer requires MySQL. The application stores users, roles, wishlist entries, sessions, cache entries, and queue jobs in this database. The DB_CONNECTION variable must be set to mysql.
VariableDefaultDescription
DB_CONNECTIONmysqlThe database driver. Must be mysql for TechStore Explorer.
DB_HOST127.0.0.1Hostname or IP address of the MySQL server.
DB_PORT3306TCP port on which MySQL is listening.
DB_DATABASEtechexplorerName of the MySQL database to connect to. Create this database before running migrations.
DB_USERNAMErootMySQL user with full permissions on DB_DATABASE.
DB_PASSWORD(empty)Password for the MySQL user. Leave empty if your local MySQL has no root password.
The .env.example file ships with the database variables commented out. Uncomment and populate them before running php artisan migrate.

Mail (Mailtrap)

TechStore Explorer dispatches email notifications when users modify their wishlist. In development, Mailtrap Sandbox SMTP is used to intercept outgoing mail so it never reaches real recipients — all sent messages appear directly in your Mailtrap inbox for inspection.
VariableDefaultDescription
MAIL_MAILERlogThe mail transport to use. Set to smtp to enable Mailtrap delivery. The log default writes emails to the Laravel log file instead of sending them.
MAIL_SCHEMEnullEncryption scheme for the mail connection. Set to tls when using Mailtrap Sandbox SMTP.
MAIL_HOST127.0.0.1SMTP hostname. Set to sandbox.smtp.mailtrap.io when using Mailtrap Sandbox.
MAIL_PORT2525SMTP port. Mailtrap Sandbox listens on port 2525.
MAIL_USERNAMEnullYour Mailtrap inbox SMTP username. Found in Mailtrap → Inbox → SMTP Settings.
MAIL_PASSWORDnullYour Mailtrap inbox SMTP password. Found alongside the username in SMTP Settings.
MAIL_FROM_ADDRESShello@example.comThe sender address that appears on all outgoing emails.
MAIL_FROM_NAME${APP_NAME}The sender display name. Defaults to the value of APP_NAME.
To configure Mailtrap, log in to mailtrap.io, open your Sandbox inbox, navigate to SMTP Settings, and copy the credentials into the variables above.

Queue

TechStore Explorer uses Laravel’s queue system to process email notifications asynchronously, ensuring that wishlist operations return instantly to the user without waiting for SMTP delivery. The default queue connection is database, which means pending jobs are stored in the jobs table created by the migrations. A dedicated queue worker process must be running to consume and execute these jobs. Start the worker with:
php artisan queue:work
If the worker is not running, wishlist emails will accumulate in the jobs table and will only be sent once the worker starts.
VariableDefaultDescription
QUEUE_CONNECTIONdatabaseThe queue backend driver. database stores jobs in MySQL — no additional services like Redis are required.

Complete .env Example

The following is a fully populated .env file ready for local development with Mailtrap:
APP_NAME=TechStore
APP_ENV=local
APP_DEBUG=true
APP_URL=http://127.0.0.1:8000

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=techexplorer
DB_USERNAME=root
DB_PASSWORD=password

MAIL_MAILER=smtp
MAIL_SCHEME=tls
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_FROM_ADDRESS=hello@example.com
MAIL_FROM_NAME="${APP_NAME}"
Replace your_username and your_password with the credentials from your Mailtrap Sandbox inbox, and update the database values to match your local MySQL setup.
Instead of starting the server, queue worker, and Vite separately, run composer run dev to launch all four processes — server, queue listener (queue:listen), Pail log watcher, and Vite — concurrently in a single terminal session. This is the recommended workflow for local development.

Build docs developers (and LLMs) love