-
Notifications
You must be signed in to change notification settings - Fork 3
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
FEAT: Implement the OAuth functionality #24
Merged
Merged
Conversation
This file contains 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
Bishoywadea
approved these changes
Oct 30, 2024
Ahmed-Aladdiin
added a commit
that referenced
this pull request
Nov 1, 2024
* Setup (#1) * docs: Update README to reference the `PROJECT_FLOW.md` * refactor: remove boilerplate code * refactor: use TalWare app name * feat: add starter packages * docs(gitignore): ignore auto generated flutter plugins files * refactor: build the basic project structure --------- Co-authored-by: Mo2Hefny <[email protected]> * FEATURE(AUTH-CROSS): Implement the sign up screen with its components (#2) * refactor(widget_test): correct app name * feat(ui): add Palette class for managing colors * style(ui): modified Palette class * feat(auth): add signup route * feat(auth): add signup-ui * style(auth): add authTheme * refactor(auth): add auth widgets * refactor(auth): add dimensions and sizes classes * refactor(auth): change app name to telware * refactor(auth): add circle_button widget * style(auth): switch to dimensions and sizes classes * feat(auth): secure the password field * feat(auth): adding validations * chore(auth): adding shake and vibration packages * refactor(auth): correcting title name * refactor(auth): removing redundant import * refactor(auth): rename the theme * refactor(auth): convert to StatefulWidget and add TextButton * refactor(auth): convert to appTheme * refactor(auth): add extra dimension * refactor(auth): remove redundant condition * refactor(auth): remove redundant code and convert to StatefulWidget * FEAT(AUTH-CROSS): Initiate the basic structure of the model and view-model (#3) * fix: correct app name to telware * feat(login-flow): create an enum for the different states of authentication * feat(auth): create a token provider * feat: initialize custom_lints * feat(auth): create the local repository for authentication * feat(auth): create the authentication view model * feat(auth): initialize the authentication process in the TelWare widget * doc(auth): add a todo to create the user provider * feat(auth): open Hive box for auth tokens * feat(auth): create the splash screen --------- Co-authored-by: Marwan Alhameedy <[email protected]> * refactor(auth): simplify the sign-up screen code (#4) * FEAT(AUTH-CROSS): Build the UI for the Log In screen (#5) * refactor(auth): simplify the sign-up screen code * chor(auth-cross): add the social media login icons * feat: add new routes * feat(auth-cross): build login screen ui * refactor(auth-cross): move the social login widget to a separate file * feat(auth-cross): add forget password button to login screen * feat(auth-cross): make a widget for the auth floating action button --------- Co-authored-by: Marwan Alhameedy <[email protected]> * FEATURE(AUTH-CROSS): Implement sign up logic (#7) * feat(auth): add userModel * feat(auth): create user provider * refactor(auth): remove redundant import * feat(auth): create app error class * feat(auth): add user model to local repository * feat(auth): create remote repository * feat(auth): add signUp logic to auth-view-model * fix(auth): add null check * feat(auth): create dio base options * feat(auth): update signUp logic and convert to ConsumerStatefulWidget * refactor(auth): remove dummy files * refactor(auth): remove todo comments * feat(auth): open user model hive box * fix(auth): correct the image path * fix(auth): register the user model to hive * fix(auth): remove password field * fix(auth): syntax error * FEAT(AUTH-CROSS): Verification-UI (#8) * feat(auth): add action to on press function * refactor(auth): make the code more modular * chore(auth): add package for code verification * refactor(auth): modify names and input parameters for better usage. * feat(auth): add verification length * feat(auth): add verification screen ui * feat(auth): add confirmation dialog * refactor(auth): remove redundant code * refactor(auth): remove verification from login logic * chore(auth): add phone_form_field package * style(auth): enhancing the parameters for better usage * feat(auth): add phone field widget * refactor(auth): modify the input values * refactor(auth): improve ui styles * FEATURE(AUTH): Implement log in logic (#9) * feat(auth-cross): use the initial route property * fix(auth): remove unnecessary import * ref: add todo's to marwan * feat(auth): implement the log in functionality * feat(auth): implement log in and forgot password logic * feat(auth): update auth state to a class * feat(auth): add show toast and snack bar utils * feat(auth): add delete token or user functionalities to the authentication local repository * fix(auth): fix used status code in the log in logic * feat(auth): add the success state to the AuthStateType * feat(auth): connect the ui with the logic for the log in feature * feat(auth): add the log out functionality * fix(auth): handle different states for the forgot password method * fix(auth): recompile generated files --------- Co-authored-by: marwan2232004 <[email protected]> * feat(auth): add testing keys to the log in (#10) specify the type of the keys * feat(auth): handle log in without being verified scenario (#11) * FEAT: Change the app icon and Splash screen icon (#12) * feat: create app icon * feat: update the splash screen with the logo and app name * fix: correctly check success status codes * feat: update user model to match api documentation * fix: user correct key names in initialization * feat: change get user method name to get me * FIX: correctly validate passowrds and send email to verificatoin screen feat(auth): add password validator feat: add password validator and send the email to the verification screen * FEAT(AUTH): Implement log out methods (#13) * feat(home): Create the app drawer (#14) * feat: initial app drawer * feat: create the app drawer * FEATURE(AUTH): Signup logic (#15) * chore(auth): add .env file * refactor(auth): add authenticated state * feat(auth): add captcha * feat(auth): add captcha and signup logic * feat(auth): add verification logic * refactor(auth): modify captcha logic * feat: update password validator * fix: change error message for resend confirmation --------- Co-authored-by: Ahmed Aladdin Mohamed <[email protected]> * FEAT: Stories (#17) * FEAT(STORIES-HEADER-UI): Implement the ui of the story header in the chats screen * FEAT(STORIES-MVVM-SETUP): Implement the arch for the mvvm arch * FEAT(STORIES-MVVM-SETUP): Implement the arch for the mvvm arch * FEAT(STORIES-MVVM-Implement): Implement the architecture logic for getting the users and their story, storing them using Hive * FEAT(STORIES-MVVM-Implement): Implement the architecture logic for getting the users and their story, storing them using Hive * FEAT(Add-STORIES-UI): Implement UI for add stories from camera or gallery * FEAT(Add-STORIES-UI): Implement Logic for add stories from camera or gallery * FEAT(Add-STORIES-SEENS): Implement UI and Logic for seens in stories * FEAT(Add-STORIES-SEENS): Implement UI and Logic for seens in stories * REF(STORIES): refactored the repository and view-model names from user to contact for better meaning * FEAT(STORIES): Implement storage contacts in local storage to be available offline * FEAT(STORIES): Implement save stories in storage to be available offline * FEAT(STORIES): Implement cropping stories and draw on it before posting * FEAT(STORIES): Implement Adaptivity in Home Screen --------- Co-authored-by: Bishoywadea <[email protected]> * FIX: Complete the integration between the Stories and Authentication (#18) * fix: initial merging of stories and authentication * fix: using wrong hive box for ContactModel * fix: solve the problem with the drawer not opening * feat(user): Add user settings and profile related pages (#19) * feat(user): add change number option for the user * feat(user): add change number option for the user * feat(user): add profile info submission and validation * feat(user): add profile header with animation * feat(user): add change number option for the user * feat(user): add change number option for the user * feat(user): add change number option for the user * feat(user): add change number option for the user * refactor(auth): generalize the widgets * refactor(auth): generalize the widgets * feat(user): add change number option for the user * feat(user): add change number option for the user * feat(user): add change number option for the user * refactor(user-profile): optimize code * refactor(user-profile): add height to trailing * feat(user-profile): block user screen #turn 1 * feat(user-profile): easter duck tgs * feat(user): add change number option for the user * refact(user): Integrate user settings with develop. * test(user): add settings section unittest --------- Co-authored-by: marwan2232004 <[email protected]> * test: Create flutter-test.yml * TEST(USER): test user related widgets (#21) * feat(users): Add blocking feature (#22) * FEATURE(AUTH-CROSS): Implement the sign up screen with its components (#2) * refactor(widget_test): correct app name * feat(ui): add Palette class for managing colors * style(ui): modified Palette class * feat(auth): add signup route * feat(auth): add signup-ui * style(auth): add authTheme * refactor(auth): add auth widgets * refactor(auth): add dimensions and sizes classes * refactor(auth): change app name to telware * refactor(auth): add circle_button widget * style(auth): switch to dimensions and sizes classes * feat(auth): secure the password field * feat(auth): adding validations * chore(auth): adding shake and vibration packages * refactor(auth): correcting title name * refactor(auth): removing redundant import * refactor(auth): rename the theme * refactor(auth): convert to StatefulWidget and add TextButton * refactor(auth): convert to appTheme * refactor(auth): add extra dimension * refactor(auth): remove redundant condition * refactor(auth): remove redundant code and convert to StatefulWidget * FEAT(AUTH-CROSS): Initiate the basic structure of the model and view-model (#3) * fix: correct app name to telware * feat(login-flow): create an enum for the different states of authentication * feat(auth): create a token provider * feat: initialize custom_lints * feat(auth): create the local repository for authentication * feat(auth): create the authentication view model * feat(auth): initialize the authentication process in the TelWare widget * doc(auth): add a todo to create the user provider * feat(auth): open Hive box for auth tokens * feat(auth): create the splash screen --------- Co-authored-by: Marwan Alhameedy <[email protected]> * refactor(auth): simplify the sign-up screen code (#4) * FEAT(AUTH-CROSS): Build the UI for the Log In screen (#5) * refactor(auth): simplify the sign-up screen code * chor(auth-cross): add the social media login icons * feat: add new routes * feat(auth-cross): build login screen ui * refactor(auth-cross): move the social login widget to a separate file * feat(auth-cross): add forget password button to login screen * feat(auth-cross): make a widget for the auth floating action button --------- Co-authored-by: Marwan Alhameedy <[email protected]> * FEATURE(AUTH-CROSS): Implement sign up logic (#7) * feat(auth): add userModel * feat(auth): create user provider * refactor(auth): remove redundant import * feat(auth): create app error class * feat(auth): add user model to local repository * feat(auth): create remote repository * feat(auth): add signUp logic to auth-view-model * fix(auth): add null check * feat(auth): create dio base options * feat(auth): update signUp logic and convert to ConsumerStatefulWidget * refactor(auth): remove dummy files * refactor(auth): remove todo comments * feat(auth): open user model hive box * fix(auth): correct the image path * fix(auth): register the user model to hive * fix(auth): remove password field * fix(auth): syntax error * FEAT(AUTH-CROSS): Verification-UI (#8) * feat(auth): add action to on press function * refactor(auth): make the code more modular * chore(auth): add package for code verification * refactor(auth): modify names and input parameters for better usage. * feat(auth): add verification length * feat(auth): add verification screen ui * feat(auth): add confirmation dialog * refactor(auth): remove redundant code * refactor(auth): remove verification from login logic * chore(auth): add phone_form_field package * style(auth): enhancing the parameters for better usage * feat(auth): add phone field widget * refactor(auth): modify the input values * refactor(auth): improve ui styles * FEATURE(AUTH): Implement log in logic (#9) * feat(auth-cross): use the initial route property * fix(auth): remove unnecessary import * ref: add todo's to marwan * feat(auth): implement the log in functionality * feat(auth): implement log in and forgot password logic * feat(auth): update auth state to a class * feat(auth): add show toast and snack bar utils * feat(auth): add delete token or user functionalities to the authentication local repository * fix(auth): fix used status code in the log in logic * feat(auth): add the success state to the AuthStateType * feat(auth): connect the ui with the logic for the log in feature * feat(auth): add the log out functionality * fix(auth): handle different states for the forgot password method * fix(auth): recompile generated files --------- Co-authored-by: marwan2232004 <[email protected]> * feat(auth): add testing keys to the log in (#10) specify the type of the keys * feat(auth): handle log in without being verified scenario (#11) * FEAT: Change the app icon and Splash screen icon (#12) * feat: create app icon * feat: update the splash screen with the logo and app name * fix: correctly check success status codes * feat: update user model to match api documentation * fix: user correct key names in initialization * feat: change get user method name to get me * FIX: correctly validate passowrds and send email to verificatoin screen feat(auth): add password validator feat: add password validator and send the email to the verification screen * feat(user): add profile info submission and validation * feat(user): add profile info submission and validation * feat(user): add profile info submission and validation * feat(user): add profile header with animation * feat(user): add profile info submission and validation * feat(user): add profile info submission and validation * refact: Refactor main.dart and core files * feat(user): add change number option for the user * feat(auth): blocked users screen * refactor(auth): generalize the widgets * refactor(auth): generalize the widgets * feat(auth): blocked users section * style(user-profile): reformat code * refactor(user-profile): add new color * refactor(user-profile): optimize code * chore(user-profile): add lottie package * refactor(user-profile): add height to trailing * feat(user-profile): block user screen #turn 1 * feat(user-profile): easter duck tgs * feat(user-profile): modify settings widget * chore(user-profile): add dependencies * refactor(user-profile): optimize code. * feat(user-profile): add block users colors. * feat(user-profile): enhance ```formatPhoneNumber```, add getRandomColor. * feat(user-profile): add contacts hive box * feat(user-profile): put permission for reading contacts. * feat(user-profile): add contact model. * feat(user-profile): read and store contacts in hive. * feat(user-profile): add displaying image from memory or an avatar * feat(user-profile): empty chat screen widget * feat(user-profile): avatar generator from name initials * feat(user-profile): reading contacts from hive, adding tabBar * feat(user-profile): block user confirmation dialog. * feat(user-profile): block user navigations. * feat(block-users): solve testing problem. * feat(block-users): solve testing problem. --------- Co-authored-by: Ahmed Aladdin Mohamed <[email protected]> Co-authored-by: Ahmed Aladdin <[email protected]> Co-authored-by: Mo2Hefny <[email protected]> * FEAT: Implement the OAuth functionality (#24) * initiate the routing operation * feat(auth): launch social auth * feat: complete the oauth log in flow * feat: use go_router for navigation * fix: go router doesn't work * feat: add transition to the sign up screen * feat: add the new routes * refactor: use go router instead or navigator * Update settings_section.dart * FEAT: add mock user functionality (#25) * initiate the routing operation * feat(auth): launch social auth * feat: complete the oauth log in flow * feat: use go_router for navigation * fix: go router doesn't work * feat: add transition to the sign up screen * feat: add the new routes * refactor: use go router instead or navigator * feat: separate the local and remote repository for the auth * same as before * feat: mock the user authentication process * fix: not using go_route in settings * feat: add temporarly log out functionality * Feature/stories (#26) * FEAT(Session Managment): Implement UI for Devices Screen * FEAT(Stories): Implement functions to integrate with backend * REF(Stories): refactored the statemangment classes to be keepAlive * REF(Stories): refactored story screen widget tree * REF(Stories): refactored take story screen * REF(Stories): refactored edit taken image screen * REF(Sessions): add keys for devices screen * feat(stories): adding .g files. --------- Co-authored-by: marwan2232004 <[email protected]> * Test/sign up (#27) * feat(auth): add recaptcha again. * feat(auth): add signup keys. * feat(auth): add signup and verification keys. * feat(auth): modify signup body. * feat(auth): integration with BE. * fix(auth): remove unwanted code. * Integration: integrate the login functionality with the back-end (#29) * fix: modify the api calling code * feat: use the user real profile data in the drawer * feat: use user data in the drawer and profile header * fix: fix wrong range of status code * REF(Sessions): add update profile pic * fix: wrong body in the forget password request * fix: handle wrong spacing in the login and sign up screens * feat: make the screen name 'No Name' in case of the using not having a name * fix: merge brackets problem * Update main.dart * Update main.dart * fix: add a missing import in the sign up screen --------- Co-authored-by: Bishoywadea <[email protected]> * feat: update the .gitignore * fix: remove dublicate code from settings screen * feat(user): add user view model (#31) * feat(user): add local and remote repository providers * feat(user): add user view model * feat(user): update the screens to use the view model * chore: add devtools options * refact: handle conflicts * feat(user): add username functionality * refact(auth): naming convention. (#32) * refactor(auth): naming convention. * refactor(auth): remove empty tests. --------- Co-authored-by: Mo2Hefny <[email protected]> --------- Co-authored-by: Mo2Hefny <[email protected]> Co-authored-by: Marwan Alhameedy <[email protected]> Co-authored-by: Bishoywadea <[email protected]> Co-authored-by: Moamen Hefny <[email protected]> Co-authored-by: -NoName <[email protected]>
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.
No description provided.