Athena — roomy-mobile/archive/changes/2026-01-05-implement-notifications/request.md

Request: Implement Notifications

Source Input

"I want to implement notifications for this app starting with a simple set of notifications when one of your household members adds something to a shopping list"

Current Understanding

The user wants to implement a notification system for the Roomy app with the initial scope focused on shopping list activity - specifically notifying household members when someone adds an item to a shopping list.

Codebase Analysis:

  • NO push notification infrastructure currently exists (no FCM integration)
  • MessageDto exists in lib/inbox/ with notification fields (notificationTitle, notificationMessage)
  • Inbox UI exists but is non-functional (no backend integration)
  • Shopping list feature is fully functional with real-time sync
  • Cloud Functions infrastructure exists with email capabilities
  • Household member relationships are well-defined via HouseholdDto.userIds

Identified Ambiguities

  1. Notification Delivery Channel: Push notifications only? In-app only? Both?
  2. Notification Scope: Only shopping list additions, or also edits/completions/deletions?
  3. User Preferences: Should users be able to toggle notifications on/off?
  4. Quiet Hours: Should there be time-based notification suppression?
  5. Batching: Individual notification per item, or batched (e.g., "User added 5 items")?
  6. Self-Notifications: Should the user who added the item receive the notification?
  7. Real-time vs Background: Should notifications trigger immediately or be processed in background?
  8. Notification Content: What information should be included (item name, list name, who added it)?
  9. FCM Setup: Is setting up FCM credentials/keys in scope for this work?
  10. iOS/Android APNs: Are both platforms in scope?
  11. Inbox Feature: Should notifications also appear in the existing Inbox UI?
  12. Read Receipts: Should notifications track read/unread state?

Decisions

  1. Delivery Channel: Both push notifications AND in-app inbox storage. Users receive device alerts and can view notifications later in the inbox.
  2. Triggers: Notify when shopping list items are added OR completed/purchased. Not for edits or deletions initially.
  3. Self-Notifications: No. Only other household members receive notifications, not the user who performed the action.
  4. Batching: Yes. Group notifications when multiple items are added/completed in quick succession (e.g., "Alice added 5 items to Groceries").
  5. User Preferences: Yes. Include notification settings so users can toggle notifications on/off.
  6. FCM Setup: Full scope - includes Firebase console configuration, APNs certificates for iOS, and service account credentials setup.
  7. Preference Granularity: Per category - separate toggles for Shopping, Cleaning, etc.
  8. External Setup Tooling: Use Playwright MCP for browser automation to configure Firebase Console, Apple Developer Portal, and other external services.
  9. Deep Linking: Yes. Tapping a notification navigates to the relevant shopping list or inbox message.
  10. Batch Window: 30 seconds - items added/completed within 30 seconds are grouped into a single notification.
  11. Read State: Yes. Track read/unread with visual indicators and unread count badge on inbox.
  12. Platforms: Both iOS and Android with full cross-platform push notification support.

Final Intent

Implement a comprehensive notification system for the Roomy app, starting with shopping list notifications.

Core Functionality:

  • Push notifications (FCM) AND in-app inbox storage for all notifications
  • Initial scope: Shopping list item additions and completions
  • Notifications sent to all household members except the actor
  • Batched notifications within 30-second windows (e.g., "Alice added 5 items to Groceries")

User Experience:

  • Deep linking: Tapping notifications navigates to the relevant shopping list
  • Read/unread state tracking with visual indicators and unread count badges
  • Per-category notification preferences (Shopping, Cleaning, etc.) in user settings

Technical Scope:

  • Full FCM setup including Firebase Console configuration and APNs certificates
  • Use Playwright MCP for browser automation of external service configuration
  • Cross-platform support for both iOS and Android
  • Cloud Functions for notification triggering and batching logic
  • Firestore collections for messages and notification preferences

Reacties

Nog geen reacties