PushNotificationService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
4
Entities
0
Integrations
Description
Business logic layer that orchestrates push notification delivery, scheduling, and lifecycle management. Coordinates between FirebaseMessagingClient for dispatch and NotificationRepository for persistence. Handles assignment dispatches, event reminders, and coordinator follow-up prompts.
push-notification-service
Sources & reasoning
Notifications is a named bottom-nav tab (line 290), establishing it as a first-class MVP surface. HLF follow-up dissatisfaction data (line 116) confirms urgency. Blueprint marks push-notifications [MVP]. First phase ordinal = MVP.
-
docs/source/likeperson.md · line 290Bottom nav with 5 tabs: Home, Contacts, Add (modal launcher for Activity and Event wizards), Work, Notifications
-
docs/source/likeperson.md · line 116Oppfølging av likepersoner: 40 % var ikke fornøyd med oppfølgingen i spørreundersøkelse. Scenariobaserte push-meldinger og kalendersynkronisering.
Responsibilities
- Compose and dispatch typed notification payloads for assignments, reminders, and follow-ups
- Schedule time-based event reminder notifications
- Track delivery status and update notification records on acknowledgement
- Enforce role-based targeting so peers and coordinators receive relevant notifications only
- Provide unread count for badge display in bottom navigation
Interfaces
sendAssignmentNotification(userId: string, assignmentId: string): Promise<void>
sendEventReminder(userId: string, eventId: string, scheduledAt: Date): Promise<void>
sendFollowUpPrompt(coordinatorId: string, context: FollowUpContext): Promise<void>
acknowledgeNotification(notificationId: string, userId: string): Promise<void>
getUnreadCount(userId: string): Promise<number>
Related Data Entities (4)
Data entities managed by this component