Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZSender — Multi-Channel Messaging, AI Chatbots & Visual Automation Platform

Laravel Version React Version TailwindCSS PHP Version Vector DB

ZSender adalah platform SaaS multi-channel customer messaging, chatbot AI berbasis RAG (Retrieval-Augmented Generation), penyiaran massal (broadcasting), serta otomasi alur kerja (visual workflow builder) yang dirancang untuk membantu bisnis berinteraksi dengan pelanggan secara otomatis dan personal di berbagai kanal komunikasi.


🚀 Fitur Utama

  • 📬 Shared Team Inbox Terpadu: Kelola percakapan dari WhatsApp Cloud API, Instagram DM, Facebook Messenger, SMS, dan Email dalam satu dasbor terpadu. Lengkap dengan penugasan agen manusia, pelabelan chat, catatan internal, dan canned replies.
  • 🤖 Chatbot AI & RAG (Knowledge Base): Integrasi LLM kelas dunia (OpenAI, Gemini, Anthropic) dengan dukungan Knowledge Base dokumen untuk memberikan jawaban cerdas berbasis konteks dokumen bisnis Anda.
  • ⚡ Visual Workflow Builder (Otomatisasi): Otomatisasi alur kerja menggunakan editor berbasis node (React Flow). Buat percabangan kondisional, tunggu waktu/kondisi tertentu, kirim pesan multisaluran, tambahkan tag, dan panggil webhook eksternal.
  • 📢 Kampanye & Broadcast: Kirim pesan siaran massal bertarget ke daftar kontak atau segmen tertentu menggunakan WhatsApp Templates, SMS, atau Email dengan analitik rasio buka, klik, dan berhenti berlangganan (unsubscribe).
  • 🛒 Sinkronisasi E-commerce: Integrasi langsung dengan Shopify, WooCommerce, dan BigCommerce untuk memantau data pesanan dan produk secara real-time di dalam percakapan chat.
  • 🔌 Embedded Signup & WhatsApp Widget: Memudahkan integrasi nomor WhatsApp bisnis pelanggan menggunakan alur Meta Embedded Signup serta widget kustom untuk website mereka.

📁 Struktur & Arsitektur Modul (app/Modules)

Aplikasi ini menggunakan pendekatan arsitektur modular yang membagi kode berdasarkan ranah domain bisnis:

app/Modules/
├── AI/            # Manajemen chatbot, provider LLM, dan embedding Knowledge Base (RAG)
├── Automation/    # Engine otomatisasi alur kerja berbasis node (AutomationEngine)
├── Broadcasting/  # Manajemen pengiriman pesan siaran massal, pelacakan email, dan SMS status
├── Ecommerce/     # Integrasi webhook dan sinkronisasi store (Shopify, WooCommerce, BigCommerce)
├── Inbox/         # Logika shared inbox, penugasan percakapan, canned replies, dan label
├── Integrations/  # Driver pihak ketiga dan manajemen kredensial API eksternal
├── Leads/         # Pipeline penjualan (CRM) dan Kanban board
├── Shared/        # Model database bersama (Conversation, Message, Contact) dan migrasi inti
├── Social/        # Integrasi channel Meta (Instagram & Messenger)
└── Whatsapp/      # Logika WhatsApp Cloud API, Template Sync, Auto-Replies, dan Web Widget

🛠️ Prasyarat Sistem

Sebelum memulai instalasi, pastikan lingkungan server Anda telah memenuhi syarat berikut:

  • PHP: v8.2 atau lebih tinggi (dengan ekstensi pdo, mbstring, openssl, curl, json, zip, xml)
  • Composer: v2.x
  • Node.js & NPM: v18.x atau v20.x
  • Database: MySQL v8.0+, PostgreSQL, atau SQLite (untuk pengujian lokal)
  • Redis: (Sangat direkomendasikan untuk antrean antarmuka/queue dan cache)
  • Qdrant Vector Database: (Opsional, untuk pencarian kemiripan Knowledge Base berskala besar; jika tidak ada, sistem akan otomatis melakukan fallback ke MySQL JSON)

🔧 Langkah Setup & Instalasi Lokal

Ikuti langkah-langkah di bawah ini untuk menjalankan project di komputer lokal Anda:

1. Kloning Repositori & Install Dependensi Backend

git clone <repository-url> zsender
cd zsender
composer install

2. Install Dependensi Frontend

npm install

3. Konfigurasi Lingkungan (.env)

Salin file .env.example menjadi .env:

copy .env.example .env

Buka file .env dan konfigurasikan koneksi database Anda:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database_anda
DB_USERNAME=username_database
DB_PASSWORD=password_database

Pastikan variabel APP_INSTALLED=false di .env Anda agar Anda dapat menggunakan Wizard Pemasangan Web (Web Setup Wizard) saat pertama kali membuka aplikasi.

4. Buat Application Key

php artisan key:generate

5. Jalankan Migrasi & Database Seeding

Jalankan migrasi database dasar beserta data awal bawaan:

php artisan migrate --seed

6. Hubungkan Storage Link

php artisan storage:link

7. Jalankan Server Pengembangan

Gunakan perintah pintasan Composer untuk menjalankan server backend (Laravel serve, Reverb websocket, queue worker, dan Vite frontend) secara bersamaan:

composer dev

Atau jalankan secara terpisah di terminal yang berbeda:

  • Laravel Web Server: php artisan serve
  • Realtime Websocket (Reverb): php artisan reverb:start
  • Queue Worker: php artisan queue:listen --queue=default,whatsapp,automation
  • Vite Assets compiler: npm run dev

Buka browser Anda dan akses http://localhost:8000. Jika APP_INSTALLED bernilai false, sistem akan mengarahkan Anda ke alur Web Installation Wizard di /install untuk mengonfigurasi admin platform, lisensi, dan SMTP dasar.


⚙️ Integrasi Webhook (WhatsApp & Meta)

Untuk menerima pesan secara real-time dari Meta (WhatsApp Cloud API, Instagram, Messenger), aplikasi menggunakan webhook publik yang diakomodasi di:

  • WhatsApp Webhook: /webhooks/whatsapp/{token} (dan /webhooks/whatsapp/global untuk embedded signup)
  • Instagram/Messenger Webhook: /webhooks/meta/{token}

Konfigurasi Lokal Webhook:

Karena Meta membutuhkan URL HTTPS publik untuk mengirim data webhook, Anda perlu menggunakan alat tunneling seperti Ngrok or Expose:

ngrok http 8000

Setelah mendapatkan URL HTTPS (misalnya https://abcd-123.ngrok-free.app), daftarkan webhook tersebut ke Dashboard Developer Meta Anda dengan merujuk pada endpoint di atas.


🧪 Menjalankan Pengujian (Testing & Linting)

Aplikasi ini dilengkapi dengan pengujian unit dan integrasi untuk backend (PHPUnit) dan frontend (Vitest):

  • Analisis Kode PHP (PHPStan):
    composer analyse
  • Linting PHP (Laravel Pint):
    composer lint
  • Perbaikan Otomatis Linting PHP:
    composer lint:fix
  • Menjalankan Unit Test Backend:
    composer test
  • Menjalankan Unit Test Frontend:
    npm run test

📄 Lisensi

Proyek ini dilisensikan di bawah lisensi internal komersial / proprietary. Semua hak cipta dilindungi undang-undang.

About

ZSender — An enterprise-grade SaaS platform for multi-channel customer messaging, AI-powered chatbots (RAG), visual workflow automation, and broadcasts

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages