Goal
Implement public-facing profile routing so each user's profile is accessible via a unique URL.
Scope
Full-stack: URL routing, resolving the username in the URL to the correct user profile, and error handling for invalid or missing profiles.
Background
The public profile view and its data wiring have been implemented. This ticket adds the routing layer so profiles are publicly accessible at a unique URL per user. This is Phase 2 of the public profile integration.
Acceptance Criteria
Route
- Each user's public profile is accessible at a unique URL (unique hash) based on their username.
- The username in the URL is resolved to the correct user record and the corresponding profile is rendered.
- Clicking a user's name or avatar anywhere on the platform routes to their public profile.
- Clicking the "Share" button copies the profile URL unto the clipboard
Invalid or missing profiles
- If the username does not match any existing account, an appropriate error is shown.
- If a user has deleted their account, an appropriate error is shown.
Username changes
- If a user changes their username, the old URL redirects to the new profile URL automatically.
FE/BE Actions
| Description |
URL |
| Fetch public profile by resolving username from URL |
|
Out of Scope
- Public profile view and data rendering
- Username change flow
Goal
Implement public-facing profile routing so each user's profile is accessible via a unique URL.
Scope
Full-stack: URL routing, resolving the username in the URL to the correct user profile, and error handling for invalid or missing profiles.
Background
The public profile view and its data wiring have been implemented. This ticket adds the routing layer so profiles are publicly accessible at a unique URL per user. This is Phase 2 of the public profile integration.
Acceptance Criteria
Route
Invalid or missing profiles
Username changes
FE/BE Actions
Out of Scope