-
Notifications
You must be signed in to change notification settings - Fork 3
Feature/FA-2-Forget-Password #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
EslamMagdy12
wants to merge
36
commits into
developement
Choose a base branch
from
feature/fa-2-forget-password
base: developement
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
…ing cubit as a state management.
…splayed error message returned from api.
…emove unused imports, and remove relying on hardcoded colors and used the app_colors.
- All fields are required in request models. - Added some missed async and await. - Removed Pintheme from AppTheme. - Removed BlocConsumer and used BlocListener Instead. - Renamed again ApiException to AppException. - Followed the same Architecture so moved Auth Remote DataSource Impl outside implementation folder
13 tasks
ahmedelazab1220
requested changes
Mar 30, 2025
lib/features/auth/presentation/view_model/reset_password_cubit.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view_model/reset_password_cubit.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view_model/forget_password_cubit.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view_model/email_verification_state.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view_model/forget_password_state.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view/widgets/reset_password_form.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view/widgets/reset_password_form.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view/widgets/reset_password_form.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view/widgets/reset_password_form.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view/widgets/verification_code_input.dart
Outdated
Show resolved
Hide resolved
- Used Cubits with BaseState, and Equatable. - Renamed forget_password_header to header because it used across many screens not just forget_password
- Added unit tests for ForgetPasswordUsecase, ResetPasswordUsecase, and VerifyResetCodeUsecase. - Utilized Mockito for mocking the AuthRepo dependency. - Ensured tests cover both success and failure scenarios for each use case. - Updated dependencies and configurations to support testing. - Removed the default widget test file.
…forget-password # Conflicts: # lib/core/utils/di/di.config.dart # lib/core/utils/routes/routes.dart # lib/main.dart # pubspec.lock # test/widget_test.dart
ali72-20
approved these changes
Apr 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great job eslam perfect style
keep going
lib/features/auth/data/data_source/remote/auth_remote_data_source_impl.dart
Outdated
Show resolved
Hide resolved
lib/features/auth/presentation/view/widgets/verification_code_input.dart
Outdated
Show resolved
Hide resolved
- Updated forget password screens and widgets to depend on AppColors file - Update localization files to include (Resend In) text
- Replaced public variables with private ones in: - AuthRemoteDataSourceImpl - EmailVerificationCubit - ForgetPasswordCubit - This enhances encapsulation and prevents unintended external access.
- Included unit tests for the following components: - Forget Password Cubit - Auth Repository Implementation - Auth Remote Data Source Implementation - Forget Password Usecase - Reset Password Usecase - Verify Reset Code Usecase
- Prevents memory leaks by canceling the timer in the `dispose` method.
…forget-password # Conflicts: # assets/translations/ar.json # assets/translations/en.json # lib/core/utils/datasource_excution/api_manager.dart # lib/core/utils/di/di.config.dart # lib/core/utils/routes/routes.dart # lib/features/auth/data/data_source/contract/auth_remote_data_source.dart # lib/features/auth/data/data_source/remote/auth_remote_data_source_impl.dart # lib/features/auth/data/repo_impl/auth_repo_impl.dart # lib/features/auth/domain/repo/auth_repo.dart # lib/features/home/data/api/home_retrofit_client.dart # lib/features/home/data/api/home_retrofit_client.g.dart # lib/main.dart # pubspec.lock # pubspec.yaml
…and ensured no issues when did dart analyze
Feature/FA-100-Merge-Final-One
…feature/fa-2-forget-password # Conflicts: # assets/translations/ar.json # assets/translations/en.json # lib/core/utils/di/di.config.dart # lib/core/utils/routes/routes.dart # pubspec.yaml
…rt analysis no issues
…set password forms
…or consistency, and updated skeletonizer package.
chore(pubspec): update package versions in pubspec.lock
Fix link of demo video
Ammar720
approved these changes
Jul 18, 2025
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.
This pull request implements the Forget Password, Email Verification, and Reset Password functionalities, integrating them seamlessly across the data, domain, and presentation layers. These enhancements ensure a smoother password recovery experience for users while improving code maintainability and structure. Additionally, minor optimizations and refactoring were done to enhance performance and maintain consistency across the project.
Changes Included:
🔹 Data Layer:
AuthRetrofitClient
for:forget_password
verify_reset_code
reset_password
🔹 Domain Layer:
🔹 Presentation Layer:
const
where applicable.🔹 Localization & UI Enhancements:
ar.json
&en.json
) to include new authentication-related strings.app_theme.dart
.🔹 General Improvements:
app_exception.dart
toapi_exception.dart
for better clarity._extractErrorMessage
inApiManager
to handle API errors more effectively.routes.dart
.📌 Pull Request Checklist
✅ General
type/FA-<issue-number>-TaskName
.feature/meaningful-name
,fix/issue-description
, etc.📂 Code Quality
snake_case
.dart format .
🛠 CI/CD Validation
dart analyze
.🚀 Testing
flutter test --coverage
has been run and the results reviewed.📝 Additional Information
This update enhances the password recovery process, ensuring a structured and scalable implementation while improving user experience. Future updates will focus on adding unit tests to validate functionality and maintain reliability.
🔗 Related JIRA Ticket(s):
FA-2
📸 Screenshots (if applicable):