D
Pendahuluan

Overview

Dazoapp adalah core project ekosistem Dazo — web app, orkestrasi, dan penerbit JWT untuk seluruh service lain.

dazoapp adalah core project dari ekosistem Dazo — sebuah platform e-commerce dan otomasi WhatsApp untuk merchant Indonesia.

Aplikasi ini bukan berdiri sendiri. Ia berperan sebagai:

  • Web app — UI merchant, admin, dan customer-facing pages
  • Orkestrator — mengoordinasi service WhatsApp, AI agent, payment, dan shipping
  • Penerbit JWT — token yang diterbitkan di sini dipakai frontend untuk mengakses backend Go dan microservice lain
  • Sumber data utama — MongoDB menyimpan produk, order, kontak, wallet, dan seluruh data merchant

Ekosistem service

ServiceStackPeran
dazoapp (repo ini)Laravel 10 + MongoDB + Inertia/VueWeb app, orkestrasi, penerbit JWT, sumber data utama
BackendGoAPI service — dipanggil sebagai url_api (/v1/)
Engine WhatsAppNode.jsPairing QR, sesi device, kirim/terima pesan
Engine BotNode.jsAI agent — prompt, QnA, follow-up otomatis
CronPenjadwalan berkala
WorkerPemrosesan background

Service lainnya berada di repositori terpisah. Dokumentasi di sini berfokus pada dazoapp; project lain akan diisi pada fase berikutnya.

Stack teknologi

LapisanTeknologi
BackendLaravel 10.50, PHP ^8.1
DatabaseMongoDB (77 dari 79 model) + MySQL (2 model)
FrontendInertia.js + Vue 3 + Vite 4
AuthSession (web), JWT (tymon/jwt-auth), Sanctum
StorageAWS S3 + CDN
PaymentDOKU, Duitku, Aspire, Midtrans
ShippingRajaongkir
RealtimeSocket.IO client

Modul bisnis

ModulCakupan
Produk & OrderKatalog, varian, stok, checkout, invoice PDF
Digital StoreStorefront produk digital, pengiriman link otomatis
WhatsApp AutomationDevice, live chat, AI agent, broadcast, scheduler
KontakKontak, segmen, tag, follow-up
Wallet & PaymentSaldo, PIN, withdraw, sub-account DOKU
ShippingOngkir, warehouse, resi
MarketingBiolink, shortlink, custom domain, tracking pixel
Team & ReportRole/permission, analitik

Dokumentasi per modul akan ditulis pada fase berikutnya, di bawah dazoapp/modules/.

Cara kerja ekosistem

text
┌─────────────────────────────────────────────────────┐
│                   Frontend (Vue)                     │
│   localStorage['access_token'] = JWT dari dazoapp    │
└────────┬────────────────────────────────────────────┘
         │ Bearer <jwt>
         ├──────────► dazoapp (Laravel) — web & own API
         ├──────────► Backend Go (url_api /v1/)
         ├──────────► Engine WhatsApp (url_engine)
         └──────────► Engine Bot (url_ai_agent)

JWT yang diterbitkan dazoapp adalah kredensial lintas-service, bukan sekadar auth internal. Frontend menyimpan token di localStorage, lalu memakainya untuk memanggil backend Go dan microservice lain. Saat 401, services/axiosInstance.js otomatis refresh via POST /api/refresh.

Detail alurnya ada di halaman Auth & JWT.

Langkah berikutnya

  • Baru mulai? Baca Setup Environment — ada 2 blocker yang tidak terlihat dari git clone.
  • Sudah punya env? Lanjut ke Local Development.
  • Akan deploy? Wajib baca Deployment — branch produksi adalah v3, bukan main.
  • Engineer baru direkomendasikan baca Multi-tenant sebelum menulis query pertama.