D
Setup

Local Development

Cara menjalankan dazoapp secara lokal — dua terminal, service eksternal opsional, dan batasan apa yang tidak bisa dites.

Setelah setup environment selesai, menjalankan project butuh dua proses berjalan bersamaan.

Menjalankan aplikasi

bash
php artisan serve      # terminal 1 — backend Laravel di :8000
npm run dev            # terminal 2 — Vite dev server + HMR

Buka http://127.0.0.1:8000. Aplikasi siap dipakai.

Script npm

ScriptPerintahFungsi
npm run devviteDev server + HMR
npm run buildvite buildBuild produksi (wajib sebelum deploy)
npm run releasestandard-versionGenerate CHANGELOG

Verifikasi setelah mengubah kode

Tidak ada CI yang menjalankan test. Setelah mengubah kode, jalankan:

bash
npm run build          # wajib untuk perubahan frontend
php artisan test       # wajib untuk perubahan backend

Service eksternal — batasan lokal

dazoapp bergantung pada 3 service terpisah yang berada di luar repo:

ServiceVariabelFungsi
Backend Gourl_apiAPI service (/v1/) — chat, escalate, order
Engine WhatsAppurl_enginePairing QR, kirim/terima pesan
Engine Boturl_ai_agentPrompt, QnA, follow-up otomatis

Apa yang bisa dites tanpa service ini

FiturBisa?Catatan
Login, register, auth flowYa
CRUD produk, varian, stokYa
Order managementSebagianPembuatan order jalan, tapi pengiriman pesan WA ke customer gagal
Wallet, withdrawYaButuh DOKU sandbox
Digital store storefrontYa
Invoice PDF, export ExcelYa
Biolink, shortlinkYa

Apa yang TIDAK bisa dites tanpa service ini

FiturService yang dibutuhkan
Device pairing, QR codeEngine WhatsApp
Live chat inboundEngine WhatsApp
AI agent response, QnAEngine Bot
Broadcast kirim pesanEngine WhatsApp
Follow-up otomatisEngine Bot

Queue dan job

.env saat ini QUEUE_CONNECTION=sync — artinya job berjalan sinkron dalam request, tidak masuk queue.

Dampaknya:

  • PaymentTimer (di-dispatch dari DuitkuController:231 dan SubscriptionController:243) blocking request
  • 6 Mailable ShouldQueue (OTP, notifikasi) juga blocking

Jika ada worker eksternal yang seharusnya memproses job, konfigurasi ini perlu diperiksa — lihat Deployment.

Debug

Untuk debug backend, pakai dd() dan logger(). Untuk frontend, console.log — tapi ingat untuk menghapusnya.

Struktur direktori utama

text
app/
├── Http/Controllers/    61 file — mayoritas business logic ada di sini
├── Models/              79 model (77 MongoDB, 2 MySQL)
├── Services/            9 service — tempat menulis logic baru
└── Helpers/             autoload via composer.json "files"

resources/js/
├── Pages/               234 .vue — 28 area fitur
├── Components/          430 .vue (313 di antaranya ikon SVG)
├── Layouts/             10 .vue
├── composables/         7 composable
├── services/            axiosInstance.js (JWT + refresh otomatis)
└── global.js            gitignored — lihat [Environment](./environment)

Langkah berikutnya

  • Siap deploy? Baca Deployment — branch produksi adalah v3.
  • Akan kerja fitur? Wajib baca Multi-tenant sebelum menulis query.