specs / 031-Changes-MPC-CRM

031 - MPC CRM (hub broadcast ala MoEngage)

  • Tanggal: 2026-08-15
  • Chat/topik: App baru mpc-crm + DB terpisah crmdb

Ringkasan perubahan

Membangun mpc-crm sebagai hub marketing/broadcast: template, audience, campaign terjadwal, vault kredensial FCM/Resend Dev|Prod, analytics. Database crmdb terpisah agar app + DB bisa dibawa ke tempat lain tanpa mencampur mpcdb. Sync opsional kontak/token dari mpcdb.

Impact bisnis

Satu tempat untuk promo/registration messaging; transactional tetap di mpc-be. Memudahkan uji Dev vs Prod channel dari UI CRM.

Epic / User stories

  • Epic: CRM broadcast multi-channel
  • US: Sebagai marketer, saya ingin mengirim campaign push/email ke segment, agar promo tersasar.
  • US: Sebagai admin teknis, saya ingin menyimpan Firebase/Resend key per environment di CRM, agar bisa tes tanpa ubah env server BE.

User terdampak

Staff CRM / marketing / ops komunikasi.

Aplikasi terdampak

  • mpc-crm: PERLU — app baru
  • mpcdb: TIDAK — schema CRM di crmdb
  • mpc-be / mpc-be-pos / mpc-admin / Android / iOS / Web / POS / Owner / ksr-sync: TIDAK untuk v0.1 (penerima tetap FCM/email yang sudah ada setelah sync token)

Perubahan schema

Tabel di crmdb: crm_users, crm_channel_profiles, crm_settings, crm_contacts, crm_device_tokens, crm_templates, crm_audiences, crm_campaigns, crm_delivery_logs.
Migration: mpc-dev/docs/schema/migration/024-mpc-crm-database.md.

Perubahan kode

  • mpc-crm/ — Next.js 16 app lengkap
  • Workspace rules: app-versioning, crm-changelog, docs/versions, cross-app-impact (crm)