Summary
User privacy concern: course video discussions currently display users' real names (from Google OAuth). These should be replaced with auto-generated aliases to protect user privacy.
Current Behavior
When a user registers via Google OAuth, their real name (googleUser.name) is stored as displayName in the profiles table and displayed publicly in course discussions.
Registration flow (src/use-cases/users.ts:51):
await createProfile(existingUser.id, googleUser.name, googleUser.picture);
Discussion display (src/routes/learn/$slug/-components/comment-list.tsx:210):
{comment.profile.displayName}
Expected Behavior
- During registration, an alias should be auto-generated instead of using the real name
- The alias should be displayed in course discussions
- Users should optionally be able to change their alias later via profile settings
Proposed Solution
-
Add alias generation utility - Create a function to generate unique aliases using common patterns:
- Adjective + Noun + Number (e.g., "SwiftFalcon42", "BrightCoder78")
- Or use a library like
unique-names-generator
-
Modify registration flow - Update createGoogleUserUseCase() to generate an alias:
const alias = generateUniqueAlias();
await createProfile(existingUser.id, alias, googleUser.picture);
-
Add uniqueness check - Ensure generated aliases don't collide with existing ones
-
Migration consideration - Existing users with real names may need a migration to generate aliases
Affected Areas
Acceptance Criteria
Summary
User privacy concern: course video discussions currently display users' real names (from Google OAuth). These should be replaced with auto-generated aliases to protect user privacy.
Current Behavior
When a user registers via Google OAuth, their real name (
googleUser.name) is stored asdisplayNamein theprofilestable and displayed publicly in course discussions.Registration flow (
src/use-cases/users.ts:51):Discussion display (
src/routes/learn/$slug/-components/comment-list.tsx:210):Expected Behavior
Proposed Solution
Add alias generation utility - Create a function to generate unique aliases using common patterns:
unique-names-generatorModify registration flow - Update
createGoogleUserUseCase()to generate an alias:Add uniqueness check - Ensure generated aliases don't collide with existing ones
Migration consideration - Existing users with real names may need a migration to generate aliases
Affected Areas
/src/use-cases/users.ts- registration logic/src/data-access/profiles.ts- profile creation/src/routes/learn/$slug/-components/comment-list.tsx- already uses displayNameAcceptance Criteria