Skip to content

Conversation

@jkestering-modus
Copy link
Collaborator

Implementation Phases

Phase 1: Dependencies and Configuration

  • Add AWS Amplify dependencies
  • Create configuration files

Phase 2: Core Authentication Service

  • Create authentication service
  • Update models and interfaces

Phase 3: Update Sign-In Flow

  • Update existing sign-in components to use Cognito

Phase 4: Implement Registration

  • Create registration page and form

Phase 5: Add Social Login

  • Implement Google and Apple sign-in

Phase 6: Update Navigation and Error Handling

  • Update router
  • Implement error handling
  • Add final UI touches

- Integrate AWS Amplify authentication dependencies
- Extend auth and user models to support Cognito user attributes
- Add types for social authentication, auth state, and Cognito user details
- Update package dependencies to include Amplify authentication modules
…egration

- Refactor authentication flow to use AWS Cognito
- Add granular authentication hooks for various auth operations
- Implement user token and current user retrieval from Cognito
- Update AuthContext and AuthProvider to support new authentication methods
- Add support for email/password and social sign-in flows
- Implement SignUpPage and SignUpForm components
- Update Icon component with Google and Apple icons
- Modify SignInForm to support email login and social sign-in
- Update AppRouter to include sign-up route
- Enhance auth translations with sign-up related text
- Refactor SignOutPage to handle sign-out errors
- Add VerificationPage and VerificationForm components
- Integrate email verification with Cognito resend confirmation code
- Update routing to support verification page
- Enhance auth translations with verification-related messages
- Implement form validation and error handling for verification process
…ling

- Add OAuth redirect handler for social login (Google, Apple)
- Create SocialLoginButtons component with styling
- Update Cognito configuration for OAuth flows
- Enhance authentication service to support federated sign-in
- Add OAuth-related translations and error handling
- Update AppRouter to include OAuth redirect route
- Add AuthErrorDisplay and AuthLoadingIndicator components for consistent auth UI
- Update SignIn, SignUp, and Verification forms to use new components
- Improve error handling and loading state management
- Add new translations for loading messages and validation
- Refactor error display and loading logic across auth forms
… and services

- Implement test coverage for AuthErrorDisplay, AuthLoadingIndicator, and SignInForm components
- Create test suite for useAuthOperations hook with detailed scenario testing
- Add comprehensive tests for CognitoAuthService covering various authentication methods
- Enhance test mocking for translations, hooks, and external services
- Improve error handling and loading state validation in test scenarios
- Update test mocking for SignInForm, AuthLoadingIndicator, and related components
- Improve test coverage with more granular and precise test scenarios
- Enhance test utilities to use more specific test IDs and mock handlers
- Simplify and standardize test approaches across authentication-related tests
- Update test mocks for Ionic components with stateful input handling
- Add more robust test scenarios with precise test ID selectors
- Improve component testing with dynamic input and checkbox mocking
- Standardize test utilities across SignInForm test files
@jkestering-modus jkestering-modus self-assigned this Mar 10, 2025
- Introduced .stylelintrc.json for SCSS linting with specific rules and ignored files
- Updated eslint.config.mjs to include additional ignored paths for consistency
- Added stylelint and related packages to package.json and package-lock.json
- Enhanced linting scripts in package.json to include SCSS linting
- Minor adjustments to Avatar component styles and AppMenu for better user experience
- Updated PrivateOutlet tests to include new auth state handling
- Added new translations for reports in English, Spanish, and French
…ration

- Added QueryClientProvider to tests for better React Query handling
- Updated mocks for useSignIn, useCurrentUser, and useGetUserTokens hooks
- Refactored test cases to utilize custom render function with QueryClient
- Improved test coverage by ensuring all form elements are rendered and functional
- Cleared mocks before each test for consistent test isolation
- Introduced password requirements in auth.json for better user guidance
- Added PasswordGuidelines component to SignUpForm for real-time validation feedback
- Updated validation schema to enforce password complexity rules (min length, uppercase, number, special character)
- Adjusted styles for password guidelines to improve layout and visibility
@jkestering-modus jkestering-modus marked this pull request as ready for review March 12, 2025 16:51
- Added iOS coverage directory to .gitignore for better management
- Introduced clean:coverage script in package.json to automate coverage cleanup
- Updated vite.config.ts to include iOS public directory in the build process
- Removed unused social login mock from SignInForm tests for cleaner test code
- Cleaned up SignInForm component by removing SocialLoginButtons import and usage
@jkestering-modus jkestering-modus merged commit 572119a into main Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants