As a registered user I want to manage my profile information So that I can express my dance personality and track my goals
Acceptance Criteria
User can view their profile (description, current goal)
User can update their description
User can update their current dance goal
Profile updates are persisted immediately
Profile endpoints require authentication
Maximum 500 characters for each field
Technical Implementation
Create BDD test scenario in features/user-profile.feature
Implement UserService.GetProfile() and UpdateProfile() methods
Add GET /api/v1/users/me endpoint
Add PUT /api/v1/users/me endpoint
Update User model with description and current_goal fields
Write unit tests
Update OpenAPI documentation
Implementation Steps
Create BDD test (failing)
Extend user model
Implement profile service methods
Add API endpoints
Write unit tests
BDD test passes
Add OpenAPI documentation
CI/CD validation
Product Owner review
Related
Part of Epic: #3 (User Management & Authentication System)
**As a** registered user
**I want to** manage my profile information
**So that** I can express my dance personality and track my goals
### Acceptance Criteria
- User can view their profile (description, current goal)
- User can update their description
- User can update their current dance goal
- Profile updates are persisted immediately
- Profile endpoints require authentication
- Maximum 500 characters for each field
### Technical Implementation
1. Create BDD test scenario in features/user-profile.feature
2. Implement UserService.GetProfile() and UpdateProfile() methods
3. Add GET /api/v1/users/me endpoint
4. Add PUT /api/v1/users/me endpoint
5. Update User model with description and current_goal fields
6. Write unit tests
7. Update OpenAPI documentation
### Implementation Steps
1. Create BDD test (failing)
2. Extend user model
3. Implement profile service methods
4. Add API endpoints
5. Write unit tests
6. BDD test passes
7. Add OpenAPI documentation
8. CI/CD validation
9. Product Owner review
### Related
- Part of Epic: #3 (User Management & Authentication System)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
As a registered user
I want to manage my profile information
So that I can express my dance personality and track my goals
Acceptance Criteria
Technical Implementation
Implementation Steps
Related
This issue has been implemented in the user authentication BDD system merge. Closing as completed.