Skip to content

Profile Management Feature

Overview

The Profile page (/profile) allows users to manage their personal account information, subscription details, email address, and password. It provides a centralized location for users to update their profile and manage their account settings, including subscription management and usage tracking.


Features

1. Profile Information Tab

Personal Information: - Manage personal details - First name - Last name - Avatar (initials-based) - Email address (read-only in profile tab) - Role display

Profile Update: - Update profile information - Form validation - Success notifications - Error handling

2. Subscription Tab

Current Plan: - View subscription details - Plan name - Plan description - Plan price - Subscription status (Active, Trial, Cancelled) - Trial days remaining (if applicable) - Next billing date - Current period end date

Plan Features: - View plan features - Feature list - Feature checkmarks - Plan limits display

Usage Statistics: - Track usage - Contacts used/total - Conversations used/total - Team members used/total - Usage percentages - Progress bars

Manage Subscription: - Subscription management - Open Stripe customer portal - Update payment method - Change plan - Cancel subscription - View billing history

3. Email Address Tab

Change Email: - Update email address - New email input - Email validation - Email change confirmation - Warning messages

Email Verification: - Email verification process - Verification email sending - Verification status

4. Password Tab

Change Password: - Update password - New password input - Confirm password input - Password strength requirements - Show/hide password toggle - Password validation - Success notifications

5. Profile Organization

Tabbed Interface: - Organized profile sections - Profile Information - Subscription - Email Address - Password

Visual Design: - Clean profile interface - Avatar display - Card-based layout - Clear section separation


Use Cases

Use Case 1: Update Profile Information

Scenario: User wants to update their name.

Steps: 1. Go to Profile 2. Click "Profile Information" tab 3. Update first name 4. Update last name 5. Click "Update Profile" 6. Verify changes saved

Expected Outcome: Profile information updated successfully.

Use Case 2: View Subscription Details

Scenario: User wants to check subscription status.

Steps: 1. Go to Profile 2. Click "Subscription" tab 3. View current plan details 4. Check plan features 5. View billing information 6. Check trial status if applicable

Expected Outcome: Subscription details displayed correctly.

Use Case 3: Change Email Address

Scenario: User wants to update email address.

Steps: 1. Go to Profile 2. Click "Email Address" tab 3. Enter new email address 4. Click "Update Email" 5. Check current email for verification link 6. Click verification link in email 7. Verify email updated

Expected Outcome: Email address changed after verification.

Use Case 4: Change Password

Scenario: User wants to update password for security.

Steps: 1. Go to Profile 2. Click "Password" tab 3. Enter current password 4. Enter new password 5. Confirm new password 6. Click "Update Password" 7. Verify password updated

Expected Outcome: Password changed successfully.

Use Case 5: Manage Subscription

Scenario: User wants to upgrade or cancel subscription.

Steps: 1. Go to Profile 2. Click "Subscription" tab 3. Click "Manage Subscription" 4. Redirected to Stripe Customer Portal 5. Make changes (upgrade/downgrade/cancel) 6. Return to ConnectGain 7. Verify changes reflected

Expected Outcome: Subscription managed through Stripe portal.


API Integration

Update Profile

Endpoint: PATCH /rest/v1/profiles?id=eq.{user_id}

Request:

{
 "first_name": "John",
 "last_name": "Doe"
}

Update Email

Endpoint: POST /auth/v1/user

Request:

{
 "email": "newemail@example.com"
}

Note: Requires email verification.

Update Password

Endpoint: POST /auth/v1/user

Request:

{
 "password": "newpassword123"
}


Best Practices

  1. Profile Information
  2. Keep profile information up to date
  3. Use professional display names
  4. Update email if changed

  5. Password Security

  6. Use strong passwords
  7. Change passwords regularly
  8. Don't reuse passwords
  9. Use password managers

  10. Subscription Management

  11. Review subscription regularly
  12. Understand plan features
  13. Monitor usage limits
  14. Update payment methods

  15. Email Management

  16. Use verified email addresses
  17. Keep email accessible
  18. Update email promptly if changed
  19. Check spam folder for verification emails

Troubleshooting

Profile Update Failing

Issue: Cannot update profile information

Solutions: - Verify required fields filled - Check network connection - Refresh page and try again - Check permissions

Email Verification Not Received

Issue: Email verification link not received

Solutions: - Check spam folder - Verify email address correct - Request new verification email - Check email server status

Password Update Failing

Issue: Cannot change password

Solutions: - Verify password meets requirements - Check passwords match - Verify current password correct - Try again after refresh

Subscription Not Loading

Issue: Subscription details not displaying

Solutions: - Check subscription active - Verify Stripe connection - Refresh page - Contact support if persists



Last Updated: January 2025