Files
headquarter/openspec/changes/user-profile/proposal.md
T
Fusion 577b052c05 feat: implement user profile management and oauth/traefik integration
User Profile (US-004):
- Add authenticated profile endpoints (GET/PUT /users/me)
- Add avatar upload with file validation (PNG/JPEG, max 2MB)
- Create frontend profile page with edit form and avatar upload
- Update app shell to link to profile page

OAuth/Traefik Integration:
- Externalize all Authentik URLs to environment variables
- Add domain configuration (API_DOMAIN, WEB_DOMAIN, AUTHENTIK_DOMAIN)
- Create docker-compose.traefik.yml for reverse proxy deployment
- Update OAuth redirect/callback URLs to use configured domains
- Add VITE_APP_URL for frontend public URL configuration

Quality gates: pytest (50 passed), ruff, mypy, npm test (12 passed), typecheck, lint, build
2026-05-17 23:17:10 +02:00

973 B

Why

The platform has authentication but users cannot view or edit their own profile information. Implementing profile management is essential for personalization and account management.

What Changes

  • Add authenticated user profile API endpoints (read, update, avatar upload).
  • Add a frontend profile page with editable form and avatar upload.
  • Validate avatar file type and size on upload.
  • Store avatars locally and update the user's avatar_url.

Capabilities

New Capabilities

  • user-profile-management: Users can view and edit their profile (name, email) and upload an avatar.

Modified Capabilities

  • auth-oauth: Extend /auth/me or add dedicated /users/me endpoint for richer profile data.

Impact

  • Backend changes in apps/api/src/api/ (new users router) and storage for avatars.
  • Frontend changes in apps/web/src/ (new profile page, API methods, routing).
  • No schema migrations required (avatar_url already exists on User model).