Push Service
Summary
Implement push notification delivery for event reminders, challenge invitations, friend requests, and score updates. Platform-agnostic — APNs for iOS, FCM-compatible for Android.
Requirements
- Push notification sending via APNs (iOS) and platform push (Android)
- Device token registration and management per user
- Notification types: event reminders, challenge invites, friend requests, score updates
- Per-user notification preferences (opt-in/out by category)
- Notification history storage
- No Firebase SDK dependency
Open Questions
-
In-app message center— Resolved: split into transactional notifications (this service) and editorial content (content-feed-api). This service handles transactional push only (event reminders, challenge invites, friend requests, score updates). -
PushPress-style announcements— Resolved: moved to content-feed-api. Push service may trigger a push when new content is published, but the content itself lives in the content feed. - Content categories — legacy has: social, trex_messages, new_drills, sales. Map these to new notification categories (some are now content-feed categories, others are transactional push categories)
- Deep links — legacy notifications deep link to specific drills, dry fire drills, videos, and social screens. Define deep link URL scheme