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

Support for user profile. #15

Open
4 tasks
dromerolovo opened this issue Dec 16, 2022 · 6 comments
Open
4 tasks

Support for user profile. #15

dromerolovo opened this issue Dec 16, 2022 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@dromerolovo
Copy link
Member

dromerolovo commented Dec 16, 2022

  • Make appropriate changes in Domain to support profile.
    Keep in mind that there are two types of profile: Admins and Moderators, one approach to handle this is creating an enum and field, like Role { admin, moderator }
  • Create a Bloc, states and events to handle Profile in the application.
    The reason for this is to allow the app to respond to the user's role. For example, if the user is a moderator, options to invite moderators or promote them should not appear. One approach is to listen to AuthBloc user stream.
  • Implement invitation modal / invitation flow #55 (This could be optional)
  • Change UI to be dynamic according to the user profile. #56
@dromerolovo dromerolovo changed the title Create Domain Entity / Value , Repository interface, Infrastructure repository, Bloc states, events and application for Profile Create Domain Entity / Value , Repository interface, Infrastructure repository, Dto, Bloc states, events and application for Profile Dec 16, 2022
@dromerolovo dromerolovo changed the title Create Domain Entity / Value , Repository interface, Infrastructure repository, Dto, Bloc states, events and application for Profile Support for profile. Mar 29, 2023
@dromerolovo dromerolovo changed the title Support for profile. Support for user profile. Mar 29, 2023
@dromerolovo dromerolovo added the enhancement New feature or request label Mar 29, 2023
@dromerolovo dromerolovo pinned this issue Mar 29, 2023
@dromerolovo dromerolovo unpinned this issue Mar 29, 2023
@andre-tm-hui andre-tm-hui self-assigned this Apr 2, 2023
@andre-tm-hui
Copy link

Regarding #56, I'm noticing the user profiles on Firebase don't necessarily have a name set for them. Do we want to display the email instead? Or should we add editing of user profiles in the future?

@dromerolovo
Copy link
Member Author

What if we parse the username of the email. E.g diego@collaction.org. So the "name" would be diego. And we format the name with titleCase ?

@andre-tm-hui
Copy link

We can do that for the time being. Correct me if I'm wrong @Xazin, but the goal is to pull user profiles from the API, and get names from there, which likely means we'll need a ProfileRepository to manage that. Moreover, extra checks will be needed to ensure only users with existing profiles can be invited as moderators?

@Xazin
Copy link
Member

Xazin commented Apr 12, 2023

We can do that for the time being. Correct me if I'm wrong @Xazin, but the goal is to pull user profiles from the API, and get names from there, which likely means we'll need a ProfileRepository to manage that. Moreover, extra checks will be needed to ensure only users with existing profiles can be invited as moderators?

  1. A profile is something generic, it consists only of information about a user.

  2. Any user, even if they do not exist already, can be invited. (We can setup some "link to CollAction user")

  3. We need a way to Manage Users, I believe this might have been part of the original intent of this issue. That should be a separate issue.

  4. We can alter the flow, such that new moderators can enter first and last name, and choose or upload an avatar.

@andre-tm-hui
Copy link

To clarify, when a user joins/creates a profile in the app, is a Firebase user created for them automatically? Or are they completely separate?

@Xazin
Copy link
Member

Xazin commented Apr 24, 2023

To clarify, when a user joins/creates a profile in the app, is a Firebase user created for them automatically? Or are they completely separate?

They are completely decoupled.

The firebase user comes first, how would a user have a profile without being able to sign in.

API documentation for endpoints https://devapi.collaction.org/

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
Development

No branches or pull requests

3 participants