This Assignment I have done.
- Collect basic details (email, phone number, name, profile image, password) during the signup process.
- Ensure at least one of the phone number or email is provided during signup.
- Implement encryption for passwords.
- Allow users to log in using email/phone and password.
- Users can only modify their own name and profile image.
- Phone number and email, once entered, cannot be changed.
- Users should have the ability to delete their accounts
- Define two roles: Admin and User.
- Admins can view, modify, and delete all user details.
- Users can only view, modify and delete their own details. Admin Management
- Create APIs to allow the creation of admin accounts.
- Implement an authentication system using JSON Web Tokens (JWT).
- Use bcrypt to securely encrypt user passwords.
- Save profile images in the local system or integrate with a third-party service.
- Ensure that image URLs work, at least in the local environment.
- Utilize Express.js for API development.
- Choose between MongoDB or Firebase for the database.
- Implement thorough data validation to ensure the correctness and integrity of input data.