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

50-Squad-Kai-Onboarding #105

Open
wants to merge 42 commits into
base: develop
Choose a base branch
from

Conversation

Cosmodocus
Copy link
Contributor

@Cosmodocus Cosmodocus commented Aug 16, 2024

Description

Squad-50's completed Kai Onboarding project includes:

  1. Onboarding Routing Logic: Directs users to the onboarding process based on a status flag in their user documents.
  2. Dynamic Progress bar & Checklist: Displays current step and remaining steps in the onboarding process.
  3. Profile Setup Form: Built with react-hook-form to collect and store user data in Firestore for future expeditions.
  4. System Configuration: Allows users to save their boolean states in Firestore with a toggle component.
  5. Polished UI: Matches the Figma design closely for a modern, refined look.

Full feature showcase & explanation video:https://www.loom.com/share/53026aed93dd42b6b35c0f91f5531c35

Test Link: kai-onboarding.web.app

NoSQL Database Schema:

image

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

  • Test A: Verified routing logic for new users. Ensured that upon signup, they receive the boolean flag that appropriately routes them to the onboarding process. Once completed, they are redirected to the home page.
  • Test B: Ensured that existing users who never had the flag added to their account, and would have previously skipped the signup/login screen, are now correctly redirected to the onboarding process.
  • Test C: Confirmed that form management is fully functional. The regex validation works as expected for all form fields, and user data is collected and stored correctly to the firestore database.
  • Test D: Verified that user data is temporarily stored throughout the onboarding process, allowing users to revise their choices before finalizing. Data is merged with their user profile only after the process is complete.
  • Test E: Ensured that the Progress Bar syncs accurately with the current page, correctly displaying the user’s current step in the onboarding process.
  • Test F: Confirmed that the user's profile image is uploaded to Firebase Storage only after the entire onboarding process is complete, ensuring better maintainability and accessibility.

Cosmodocus and others added 30 commits July 22, 2024 13:22
…extField components from ProfileSetupForm. Integrated form data with userSlice.
…r signup and back to home page after finishing the onboarding bug.
…in the onboarding page and users are already finished bug.
… rules to onboarding.js file under regex directory.
@bkb-Git
Copy link
Contributor

bkb-Git commented Aug 27, 2024

@Cosmodocus Consider consolidating the social media links to a single map object called socialMedia. You can also rename the field X to something clearer like Xhandle and as for the profile field, it seems a bit generic, what exactly are we storing there, if it's the user profile photo we may want to rename that as well. Finally for these fields pushNotifs, emailNotifs, reminder, they can be consolidated to into a map object notificationSettings

pleroux64 and others added 3 commits September 3, 2024 14:37
When you complete onboarding, you should see the notification variables
and the social media variables mapped together like this


![62F7149E-D030-4849-BB61-BC57B10BB64D](https://github.com/user-attachments/assets/12f6c3db-e467-4276-b4f2-6a602bc98569)

It has been tested if only some of the variables are chosen, in which
case the rest will be null
@Cosmodocus
Copy link
Contributor Author

Cosmodocus commented Sep 9, 2024

@bkb-Git

@Cosmodocus Consider consolidating the social media links to a single map object called socialMedia. You can also rename the field X to something clearer like Xhandle and as for the profile field, it seems a bit generic, what exactly are we storing there, if it's the user profile photo we may want to rename that as well. Finally for these fields pushNotifs, emailNotifs, reminder, they can be consolidated to into a map object notificationSettings

Issue resolved and database schema updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants