Overview
This guide explains all environment variables and configuration options for the Restaurant Management System. All configurations are managed through the.env file.
Getting Started
Application Configuration
Core Application Settings
.env
The Restaurant Management System uses Laravel 10.x with PHP 8.1+
| Variable | Description | Values | Default |
|---|---|---|---|
APP_NAME | Application name displayed in emails and UI | String | Laravel |
APP_ENV | Current environment | local, production, staging | local |
APP_KEY | Encryption key for securing data | Base64 string (auto-generated) | Empty |
APP_DEBUG | Enable debug mode and error details | true, false | true |
APP_URL | Base URL of the application | Valid URL | http://localhost |
Logging Configuration
.env
| Variable | Description | Values |
|---|---|---|
LOG_CHANNEL | Primary logging channel | stack, single, daily, slack |
LOG_DEPRECATIONS_CHANNEL | Channel for deprecation warnings | null, single, daily |
LOG_LEVEL | Minimum log level to record | debug, info, notice, warning, error, critical, alert, emergency |
For production, use
LOG_LEVEL=error or LOG_LEVEL=warning to reduce log volume.Database Configuration
.env
| Variable | Description | Default |
|---|---|---|
DB_CONNECTION | Database driver | mysql |
DB_HOST | Database server hostname | 127.0.0.1 |
DB_PORT | Database server port | 3306 |
DB_DATABASE | Database name | restaurante |
DB_USERNAME | Database username | root |
DB_PASSWORD | Database password | Empty |
Supported Database Drivers
The application is configured for MySQL, but Laravel supports:- MySQL 5.7+
- PostgreSQL 11+
- SQLite 3.8.8+
- SQL Server 2017+
Driver Configurations
Broadcasting
.env
log- Logs events (development)pusher- Uses Pusher serviceredis- Uses Redis pub/subnull- Disables broadcasting
Cache
.env
file- File-based cache (default)redis- Redis cache (recommended for production)memcached- Memcacheddatabase- Database cachearray- In-memory (testing only)
Filesystem
.env
local- Local storage instorage/apppublic- Public storage instorage/app/publics3- Amazon S3 (requires configuration)
Queue
.env
sync- Synchronous (no queue, immediate execution)database- Database-backed queueredis- Redis queue (recommended)sqs- Amazon SQSnull- Discard jobs
Session
.env
| Variable | Description | Values |
|---|---|---|
SESSION_DRIVER | Session storage mechanism | file, cookie, database, redis, memcached, array |
SESSION_LIFETIME | Session lifetime in minutes | Integer (default: 120) |
The application uses
database sessions. Ensure the sessions table exists by running migrations.External Services
Redis Configuration
.env
- Caching in production
- Queue management
- Session storage
- Real-time features
Memcached Configuration
.env
Mail Configuration
.env
| Variable | Description |
|---|---|
MAIL_MAILER | Mail transport driver (smtp, sendmail, mailgun, ses, postmark) |
MAIL_HOST | SMTP server hostname |
MAIL_PORT | SMTP server port (25, 465, 587, 1025) |
MAIL_USERNAME | SMTP authentication username |
MAIL_PASSWORD | SMTP authentication password |
MAIL_ENCRYPTION | Encryption protocol (tls, ssl, null) |
MAIL_FROM_ADDRESS | Default sender email address |
MAIL_FROM_NAME | Default sender name |
AWS Configuration
.env
- S3 file storage
- SES email sending
- SQS queue management
AWS configuration is optional unless you’re using AWS services.
Pusher Configuration (Broadcasting)
.env
- Live order updates
- Real-time reservation notifications
- Kitchen display updates
Vite Asset Configuration
.env
These variables expose configuration to the frontend JavaScript bundle. Only include non-sensitive data.
Environment-Specific Configurations
Local Development
.env
Production
.env
Package-Specific Configuration
Laravel Jetstream
The application uses Laravel Jetstream for authentication:- Team management features
- Profile management
- Two-factor authentication support
Spatie Laravel Permission
Role-based access control (RBAC) system:- Admin role: Full system access
- Chef role: Kitchen management
- Mesero (Waiter) role: Order management
- User role: Customer access
Livewire
Real-time component framework:- Dynamic UI updates
- No page refreshes
- Interactive components