Skip to content
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

[Feature 1] User Registration #9

Open
Madhavan7 opened this issue Oct 29, 2022 · 5 comments · May be fixed by #17 or #34
Open

[Feature 1] User Registration #9

Madhavan7 opened this issue Oct 29, 2022 · 5 comments · May be fixed by #17 or #34
Assignees
Labels
enhancement New feature or request

Comments

@Madhavan7
Copy link
Contributor

Feature that supports user account creation.

@Madhavan7 Madhavan7 added the enhancement New feature or request label Oct 29, 2022
@Madhavan7 Madhavan7 self-assigned this Oct 29, 2022
@Madhavan7 Madhavan7 reopened this Oct 29, 2022
@parmism parmism linked a pull request Nov 11, 2022 that will close this issue
@Madhavan7
Copy link
Contributor Author

Factory Design pattern was used in order to create objects that deliver the verification code(i.e objects that implement "ISendVerificationCode") - in order to allow for multiple streams of verification

@Madhavan7
Copy link
Contributor Author

Used Façade design pattern in UserExistsInteractor, so that the responsibility of creating and sending the verification code is now deferred to a new class

@Madhavan7 Madhavan7 linked a pull request Dec 2, 2022 that will close this issue
@Madhavan7
Copy link
Contributor Author

Tested the main use cases, used in this issue, such as the classes "UserLoginInteractor", "UserExistsPresenter", "UserVerificationPresenter", using anonymous classes whenever these objects depended on an interface. UI's were tested manually. "UserChatsPresenter" was not tested since it was just a bunch of getter and setter methods

@Madhavan7
Copy link
Contributor Author

Implemented features so that now the User can login if they have forgotten their password(changes are in the main branch). MVP architectural pattern was chosen for implementing this use case. Fixing code smells, and other minor changes still need to be made. The following files were added(in the main branch): ForgotPasswordScreen, ForgotPasswordPresenter, and the interface RetrieveEmail

@Madhavan7
Copy link
Contributor Author

MVP was the architectural pattern of choice, since the use cases did not use any complicated data structure, so there was no need to have controller objects

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant