Conversation
…ct and localized errors (#5) * refactor(core): simplify AppFailure ctor and remove AsyncResult alias * feat(auth): add User entity and AuthRepository interface for authentication operations * feat(auth): add typed AuthFailure and Firebase mappers * feat(auth): implement AuthRepository using Firebase Authentication * test(auth): cover AuthRepositoryImpl * test(auth): enhance AuthRepositoryImpl tests with signOut and authStateChanges verifications * chore: add *.freezed.dart to .gitignore for Build Runner generated files * feat(auth): implement AuthBloc with authentication events and states * test(auth): cover AuthBloc * feat(auth): implement SignInPage and update routing for authentication * feat(debug): add Sign Out button to DebugScreen for testing AuthBloc * feat(auth): implement redirect logic and auth state listener in router * feat(auth): add localized error messages for authentication failures * docs(core): add descriptive comments for authentication failure classes * refactor(auth): simplify comments and documentation in authentication files and di * chore: remove empty .gitkeep files from unnecessary directories * chore: update Firebase dependencies to latest versions * fix(ci): add code generation step to CI/CD pipeline and Dockerfile * docs(core): update documentation for authentication failure classes * docs: update CHANGELOG.md
* chore(ios): add Google Sign-In Info.plist config * feat(deps): add google_sign_in package to pubspec.yaml * feat(auth): add signInWithGoogle method to AuthRepository * feat(core): implement new AuthFailure classes for google auth integration, enhance l10n mapper and make it nullable * feat(auth): implement mapper for converting exceptions from google auth to AuthFailure * feat(auth): implement signInWithGoogle method in AuthRepositoryImpl * test(auth): cover signInWithGoogle method with tests * feat(core): register dependencies for google auth in DI and make setupDI method async * fix(auth): fix snack bar error handling on sign-in page * feat(auth): add google sign-in handler method to AuthBloc * test(auth): cover sign-in handler method with tests * feat(auth): add button for sign-in with google * docs: update CHANGELOG.md
…Google sign-in actions
…ding state tracking for improved state handling
… for email and password
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Summary
Release v0.3.0: Complete production-ready authentication system (email/password + Google Sign-In) with full domain layer, UI, auth-aware routing, modern form handling, and comprehensive tests. Template now ships with secure auth out-of-the-box.
✨ Changes
Userentity,AuthRepository(interface + Firebase impl), typedAuthFailurehierarchy,AuthBloc+ full unit testsSignInPagewith sign-in/sign-up toggle, form validation, localized errors, Google button/auth/*public, others require auth) + analytics loggingTextEditingController→FormKey+onSaved()(nodispose())BlocConsumer→BlocListener, CIbuild_runnerfix, docs cleanup,.gitignoreupdatemessageis now the first positional argument, others are named.🧪 Verification
build_runnergenerates Freezed files, tests pass/auth, auth → app routes (no redirect loops)