as-app/cline_docs/productContext.md

4.1 KiB

Product Context

Project Overview

Alerte Secours is a mobile application built with React Native that handles alerts and emergency-related functionality. The app supports both iOS and Android platforms.

Core Features

  1. Deep Linking:

    • Alert sharing via URLs
    • Direct navigation to specific alerts
    • Support for both:
    • Seamless user experience from web to app
  2. Authentication & Registration:

    • Phone number registration with SMS verification
    • Account connection with SMS verification
    • Email-based authentication option
    • Visual feedback for authentication processes
    • Timeout handling for better user experience
  3. Alert Management:

    • Alert creation and handling
    • Real-time updates
    • Alert information display
    • Alert level management
  4. Communication:

    • Chat/Messaging system:
      • Alert-specific chat rooms
      • Aggregated message view
      • Real-time message updates
      • Message history
      • User identification in chats
      • Message status indicators
      • Audio message support
    • SMS notifications
    • Push notifications (via Firebase FCM)
  5. Location & Mapping:

    • Map integration
    • Location-based features
  6. User Management:

    • Profile management
    • Phone number management
    • Privacy settings
    • Account settings

User Flows

  1. Alert Sharing:

    • User receives alert link (SMS, email, etc.)
    • Clicking link opens app directly
    • App validates alert access code
    • Navigation to specific alert view
    • Location coordinates preserved
  2. Web to App Transition:

    • User visits web URL
    • Seamless transition to app if installed
    • Fallback to web if app not installed
    • Consistent experience across platforms

Phone Number Registration:

  1. User clicks "Enregistrer mon numéro de téléphone"
  2. SMS disclaimer appears for confirmation
  3. Upon acceptance:
    • Navigation to Profile scene
    • Loading indicator shows on registration button
    • SMS code is sent
    • Loading clears on success or timeout

Account Connection:

  1. User clicks "Se connecter"
  2. SMS disclaimer appears for confirmation
  3. Upon acceptance:
    • Navigation to Profile scene
    • Account management modal opens
    • Loading indicator shows in modal
    • SMS code is sent
    • Loading clears on success or timeout

Chat System:

  1. Alert-Specific Chat:

    • Users can view messages for a specific alert
    • Real-time message updates
    • Message status indicators
    • Audio message support
    • User identification
  2. Aggregated Messages:

    • View messages from all alerts
    • Alert context with each message
    • Quick navigation to specific alerts
    • Distance information
    • Real-time updates
  3. Message Interactions:

    • Text message sending
    • Audio message recording/playback
    • Message status tracking
    • User presence indication
    • Scroll position management
    • New message indicators

Profile Management:

  • Phone number addition/removal
  • Privacy settings configuration
  • Account connection/disconnection
  • Profile information management

Integration Points

  • Firebase (used only for FCM push notifications)
  • GraphQL (using Hasura server with federated remote schemas)
  • Sentry for error tracking

User Experience Considerations

  1. Loading States:

    • Context-specific loading indicators
    • Clear visual feedback for actions
    • Reasonable timeouts (3 minutes)
    • Automatic clearing on success
  2. Theme Support:

    • Dark and light theme compatibility
    • Consistent visual feedback
    • Accessible color schemes
  3. Error Handling:

    • Clear error messages
    • Timeout handling
    • Network error management
    • Graceful fallbacks
  4. Chat Experience:

    • Smooth message delivery
    • Clear message status
    • Easy navigation between views
    • Proper scroll management
    • Clear user identification
    • Efficient message loading

Target Users

To be documented

Business Objectives

To be documented

Core User Workflows

Additional workflows to be documented