030 - Push notifications implementation
- Tanggal: 2026-08-15
- Chat/topik: Implement FCM push + Resend email lintas app (iOS client ditunda)
Ringkasan perubahan
Infrastruktur push end-to-end: device_tokens + FCM/Resend di mpc-be; Android + POS + Admin/Owner web push; member web tetap email; iOS menunggu APNs.
Impact bisnis
Member Android & ops (POS/Admin/Owner) bisa menerima notifikasi real-time setelah Firebase/Resend dikonfigurasi. Member web tetap dapat email + inbox.
Epic / User stories
- Epic: Notifikasi real-time booking/payment/ops
- US: Sebagai member, saya ingin tahu pembayaran & jadwal tanpa membuka app terus-menerus.
User terdampak
Member (Android push + email), kasir POS, admin, owner. Member iOS: inbox saja sampai APNs siap.
Aplikasi terdampak
- mpc-be: PERLU — schema, FCM, Resend, API tokens, event hooks
- mpc-be-pos: PERLU — bridge check-in → mpc-be
- mpc-admin: PERLU — Web Push + broadcast UI
- mpc-android: PERLU — FCM client
- mpc-ios: DITUNDA — APNs
- mpc-web: TIDAK push — email via BE
- mpc-owner: PERLU — Web Push opt-in
- ksr-sync: TIDAK
- mpc-pos: PERLU — FCM operasional
Perubahan schema
device_tokens; notifications.category, notifications.data — migration 023-device-tokens-notifications.md.
Perubahan kode
- mpc-be, mpc-be-pos, Android, POS, Admin, Owner — lihat changelog masing-masing.
- 2026-08-15 (lanjut): Android v1.18 rebuild — APK sebelumnya masih Firebase placeholder; PushRegistrar tunggu JWT + retry FCM token. Deploy prod BE/admin/owner/POS web selesai.
- 2026-08-15 (lanjut): Notifications UI polish Android + iOS (hapus swipe merah); FCM
channel_id=mpc_main. - mpc-be
internal/notifications/*, bookings/spaces/transactions hooks, config env - Android
push/*, API device-tokens - POS
lib/push/pos_push.dart - Admin/Owner Firebase opt-in + API routes
- Docs: setup, tasks, changelogs, api_contract