Service Layer medium complexity backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Backend service that orchestrates push notification delivery across platforms. Manages device token registration, payload composition, retry logic, and respects user preferences and quiet hours.

Feature: Push Notifications

push-service

Sources & reasoning

Notifications inbox is part of mobile MVP navigation (line 215, 224), and the subprocessor list explicitly plans FCM + APNs for push. Push is the foundational delivery channel for assignment/approval/reminder scenarios mentioned throughout, so it is must-have MVP.

  • Bottom nav with 5 tabs: Home, Contacts, Add (modal launcher for Activity and Event wizards), Work, Notifications
  • Google LLC (Firebase Cloud Messaging) | Push-varsler til Android-enheter (FCM). | Planlagt | Apple Inc. (Push Notification Service) | Push-varsler til iOS-enheter (APNs). | Planlagt

Responsibilities

  • Register and unregister device tokens per user
  • Compose platform-specific notification payloads
  • Route notifications through FCM or APNs based on device platform
  • Apply user notification preferences and quiet hours
  • Retry failed deliveries with exponential backoff

Interfaces

registerDevice(userId, deviceToken, platform): void
sendNotification(userId, payload): DeliveryResult
unregisterDevice(deviceToken): void
getDeliveryStatus(notificationId): Status

Related Data Entities (1)

Data entities managed by this component