Implement a multi-step registration form for new users. The form should guide users through several steps to collect all necessary information as per the user schema.
Requirements
Step 1: Account Information:
Collect username
Collect email
Collect password
Step 2: Role Selection:
Select role (Consumer or Maker)
Step 3: Profile Information:
Collect fullName
Collect address
Collect phoneNumber
Collect profilePicture (file upload)
Collect country
Step 4: Confirmation:
Display a summary of all entered information.
Provide a "Submit" button to finalize registration.
Option to go back and edit information before final submission.
Form Validation:
Ensure all required fields are filled.
Validate email format and uniqueness.
Validate password strength.
Ensure username is unique.
Error Handling:
Display appropriate error messages for invalid inputs.
Handle server-side validation errors and display messages to the user.
Acceptance Criteria
The registration form is split into multiple steps.
Each step collects the required information as per the user schema.
Users can navigate between steps to review and edit information.
The form validates user inputs and displays error messages.
On successful submission, the user is registered and redirected to a welcome page.
Additional Information
Ensure the component is responsive and accessible.
Use a progress indicator to show the user which step they are on.
Provide a consistent and user-friendly UI throughout the registration process.
Mockups / Examples
Provide any mockups or examples of the desired component if available.
Technical Requirements
Ensure compatibility with the existing tech stack of the project.
Utilize efficient algorithms to validate and submit the registration form without significant performance degradation.
Steps to Implement
Create Form Component:
Create a multi-step form component with the specified steps.
Description
Implement a multi-step registration form for new users. The form should guide users through several steps to collect all necessary information as per the user schema.
Requirements
Step 1: Account Information:
username
email
password
Step 2: Role Selection:
role
(Consumer or Maker)Step 3: Profile Information:
fullName
address
phoneNumber
profilePicture
(file upload)country
Step 4: Confirmation:
Form Validation:
username
is unique.Error Handling:
Acceptance Criteria
Additional Information
Mockups / Examples
Provide any mockups or examples of the desired component if available.
Technical Requirements
Steps to Implement
Create Form Component:
Backend: Handle Registration:
Integrate and Test:
Tasks