Implement User Profile Management Service
Implement the User Profile Management Service to allow users to view and update their personal information, update their passwords, and manage preferences. This will enhance the user experience after registration, enabling them to customise their profile and keep it up-to-date.
Tasks:
-
Create API Endpoints for User Profile Management. -
Implement Password Update Functionality with proper validation (e.g., check for password strength). -
Implement fields for user preferences (currency preference, time zone, etc.). -
Create a frontend UI for the profile page (add 'Profile' tab in the navbar). -
Ensure security for updating sensitive information (password hashing, validation, etc.).
Acceptance Criteria
- Users can fetch their current profile details.
- API returns correct user data (excluding sensitive fields like passwords).
- Users can update their profile fields (e.g., name, email).
- Email format validation is enforced.
- The response confirms successful updates.
- Users must enter their current password to update to a new one.
- Password must meet security requirements (min length, uppercase, number, etc.).
- Passwords are securely hashed before storage.
- Users can update settings such as currency and time zone.
- Updates are stored and retrieved correctly.
- All requests require authentication (JWT).
- Changes persist after updates (data is reloaded).
Edited by Atiku, Juwon (UG - Comp Sci & Elec Eng)