Direction:
Implement a User Profile module to manage user data, profile pictures, and preferences. Provide CRUD APIs and validation.
Key responsibilities:
- Endpoints: GET /users/:id, PATCH /users/:id, POST /users/:id/avatar, DELETE /users/:id/avatar.
- Avatar upload handling (multipart), storage (S3 or equivalent), and image size validation.
- Schema and validation for user fields (displayName, bio, preferences) and privacy settings.
- Ensure only owners or admins can update or delete profiles.
- Unit and integration tests and API documentation.
Acceptance criteria:
- CRUD endpoints implemented and secured (ownership checks).
- Avatar upload stores file reliably and returns accessible URL; deleting removes storage object.
- Input validation enforces length and type constraints; invalid inputs return 4xx with helpful messages.
- Tests for all endpoints and edge cases (large files, invalid formats, unauthorized access).
- README docs with example requests and required permissions/roles.
Direction:
Implement a User Profile module to manage user data, profile pictures, and preferences. Provide CRUD APIs and validation.
Key responsibilities:
Acceptance criteria: