Implement Slice A - Enhanced User Registration & Profile#5
Merged
Tyrrnien81 merged 1 commit intomainfrom Jun 22, 2025
Merged
Conversation
- Add firstName and lastName fields to User model with database migration - Update signup/login APIs to handle name fields with validation (1-50 chars) - Enhance SignupForm with first name and last name input fields - Update auth store and API service interfaces for name fields - Display real user names in Dashboard welcome message and Account section - Update E2E tests to include name field validation and display verification Resolves user journey: 'As a user, I want to provide my full name during signup and see it reflected throughout the app' Changes: - Database: Added first_name, last_name columns to users table - Backend: Extended signup/login validation and response schemas - Frontend: Enhanced registration form and user data display - Testing: Updated E2E tests for complete signup → dashboard flow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Pull Request: Implement Slice A - Enhanced User Registration & Profile
🎯 Summary
This PR implements Slice A of the Hybrid Vertical Slice development plan, completing the user journey: "As a user, I want to provide my full name during signup and see it reflected throughout the app"
🚀 What's Changed
Database Layer
✅ Added firstName and lastName fields to User model
✅ Created database migration with backward compatibility (default empty strings)
✅ Updated Prisma schema with proper field mapping (first_name, last_name)
Backend API
✅ Enhanced signup validation schema to require name fields (1-50 character limit)
✅ Updated /auth/signup endpoint to handle firstName/lastName
✅ Modified /auth/login response to include user names
✅ Maintained existing JWT token structure and authentication flow
Frontend Experience
✅ Added First Name and Last Name input fields to SignupForm component
✅ Updated form validation to require name fields before submission
✅ Enhanced User interface in TypeScript with name properties
✅ Updated auth store and API service signatures
✅ Implemented real user name display in Dashboard welcome message
✅ Enhanced Account section with actual user data (read-only fields)
Testing & Quality
✅ Updated E2E tests to include name field validation
✅ Added test verification for Dashboard name display
✅ All existing authentication flows remain functional
✅ Form validation and error handling working correctly
🧪 Testing Results
✅ Manual Testing: Successfully created account with names "Leo Jeong" and verified display
✅ Dashboard Integration: Welcome message shows "Welcome back, Leo Jeong!"
✅ Account Page: All user data fields populated correctly
✅ Form Validation: Name fields required, proper error states
✅ API Endpoints: Signup/login working with extended data structure
🎯 User Journey Completed
✅ User visits signup page
✅ User enters first name, last name, email, and password
✅ Form validates all required fields
✅ Account created with name data stored
✅ User redirected to dashboard with personalized welcome
✅ User name displayed consistently throughout app
✅ Account section shows complete user profile
🔄 Backward Compatibility
✅ Existing users get empty string defaults for names
✅ All existing API endpoints remain functional
✅ No breaking changes to authentication flow
✅ Database migration handles existing data gracefully