D
Setup

Environment

Variabel environment Toko Digital untuk Laravel, database, Inertia SSR, service dependency, dan build frontend.

Toko Digital menggunakan konfigurasi Laravel melalui .env. Mulai dari .env.example, lalu isi nilai lokal tanpa menyalin credential production.

Aplikasi

dotenv
APP_NAME="Dazo Biolink"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

Generate application key dengan:

bash
php artisan key:generate

Database

config/database.php mendefinisikan koneksi berikut:

dotenv
DB_CONNECTION=mysql

DB_HOST_SQL=127.0.0.1
DB_PORT_SQL=3306
DB_DATABASE_SQL=<database-name>
DB_USERNAME_SQL=<username>
DB_PASSWORD_SQL=<password>

DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=<database-name>
DB_USERNAME=<username>
DB_PASSWORD=<password>

DB_CRM_HOST=127.0.0.1
DB_CRM_PORT=27017
DB_CRM_DATABASE=<database-name>
DB_CRM_USERNAME=<username>
DB_CRM_PASSWORD=<password>

DB_COVENDOR_HOST=127.0.0.1
DB_COVENDOR_PORT=27017
DB_COVENDOR_DATABASE=<database-name>
DB_COVENDOR_USERNAME=<username>
DB_COVENDOR_PASSWORD=<password>

DB_CONNECTION default-nya adalah mysql, tetapi model bisnis dapat memilih koneksi MongoDB secara eksplisit. Lihat Database sebelum mengubah persistence.

Queue, session, dan mail

dotenv
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
CACHE_DRIVER=file
FILESYSTEM_DISK=local

MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025

QUEUE_CONNECTION=sync berarti job yang dipanggil aplikasi berjalan langsung di request. Jangan mendokumentasikan worker sebagai dependency wajib sebelum konfigurasi queue di source berubah.

Inertia SSR

dotenv
INERTIA_SSR_ENABLED=false
INERTIA_SSR_URL=http://127.0.0.1:13714

Build selalu menghasilkan bundle browser dan SSR. Server SSR hanya perlu dijalankan ketika INERTIA_SSR_ENABLED=true.

Service eksternal

Sebagian URL service masih ditentukan melalui konfigurasi environment atau cabang APP_ENV di controller. Gunakan placeholder berikut untuk setup lokal:

dotenv
BACKEND_API_URL_LOCAL=http://127.0.0.1:8000
BACKEND_API_URL_DEV=https://<development-app-host>
BACKEND_API_URL_PROD=https://<production-app-host>

RajaOngkir/Komerce, storage, Firebase, payment, WhatsApp, dan tracking memiliki konfigurasi tambahan yang harus diverifikasi dari file config/ dan controller terkait.

Ketidaksinkronan yang perlu diperhatikan

.env.example masih memakai beberapa nama variable Laravel generik, sedangkan konfigurasi MySQL aktual memakai suffix _SQL. Saat membuat environment baru, jadikan config/database.php dan README source sebagai referensi, bukan hanya .env.example.