Comp-490-SeniorProject / site

MIT License
0 stars 1 forks source link

Create registration form component #33

Closed mndzamel closed 2 years ago

mndzamel commented 2 years ago

Create the component for a registration form. Allow the user to make a new account with an email and password. Include fields for email, password, and confirm password. 2 parts:

  1. Implement the registration form as an Angular component. Header and footer are separate components. This issue only requires the registration form to be implemented. Code from existing login form component can be used and re-worked to allow for user registration.
  2. Connect the registration form component to the backend using Typescript. Ensure that potential requirements (e.g. email/password length, all fields required, etc.) are considered. Handle errors and display them to the user. Add details on what parts of the backend must be integrated with the frontend for this issue.
MarkKoz commented 2 years ago

There isn't any API endpoint for registering new users. I will work on that. For this issue, you can just make up some endpoint and response data until I get the endpoint actually implemented.

alinaah commented 2 years ago

Here is the final list or all the requirements, let me know if I missed anything:

Registration form:

  1. Email, password, confirm password
  2. Check for required fields, valid email syntax, password length
  3. Errors handling
  4. Send data to back end and check for response
MarkKoz commented 2 years ago

Check for required fields, valid email syntax, password length

You do not have to do this in the frontend. The backend already verifies required fields and data formats. It will respond with a 400 status code if something is incorrect.

That being said, you can still do these checks in the frontend too if you want. It would probably feel nicer for the user since it'd be more responsive (if solely relying on the backend, they wouldn't know something is wrong until they press the submit button).

MarkKoz commented 2 years ago

Implemented by #63