577b052c05
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
973 B
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).