Feature/vsn mobile auth
Driver Authentication & Profile Management System Implementation
Core Components
Authentication Infrastructure
- Create comprehensive AUTH_ENDPOINTS configuration for all driver-related API endpoints
- Add axios configuration with API gateway integration and request/response interceptors
- Implement JWT token utilities with decode and validation functions
- Add TypeScript interfaces for authentication, driver, and profile data structures
- Configure API service layer with driver-specific authentication methods
State Management & Data Flow
- Integrate Zustand stores for authentication and profile state management
- Add automatic profile fetching after successful driver login
- Implement centralized logout functionality with navigation handling
- Add authentication state restoration on app initialization
- Include driver data conversion and status translation logic
Authentication System
Login & Session Management
- Replace user authentication with driver-specific login flow using username/password
- Add driver login endpoint integration with API gateway
- Implement session management with token storage and refresh handling
- Add remember me functionality with credential persistence
- Include comprehensive error handling with French error messages
Password Reset Flow
- Build 3-step password reset process (email → OTP → new password)
- Add password reset UI with form validation and step navigation
- Implement OTP confirmation and password creation workflows
- Include email validation and confirmation code verification
- Add proper error handling and success state management
Profile Management
Driver Profile Display
- Replace mock profile data with real driver information from API
- Add driver-specific profile fields (social security number, driver status, vehicle info)
- Implement profile data conversion from backend DTO to frontend format
- Add status translation from server values to French display text
- Include loading states and error handling for profile data
UI Components & Navigation
- Update login form to use driver credentials instead of mock data
- Add GestureHandlerRootView for proper gesture handling across the app
- Implement centralized logout functionality across all inner application screens
- Add proper navigation flow from login to main application
- Include loading indicators and error states throughout the UI
Additional Features
API Integration & Configuration
- Add driver details endpoint integration with proper authorization headers
- Implement logout API call with query parameters (email, connectionHistoryId)
- Add comprehensive error handling with user-friendly French messages
- Include request/response logging for debugging (removed in final version)
- Support for both absolute and relative URL handling in API calls
Code Quality & Maintenance
- Add comprehensive TypeScript type definitions for all data structures
- Implement proper error boundaries and fallback states
- Add dependency management with required packages (AsyncStorage, axios, jwt-decode)
- Add proper import/export structure for maintainable code organization