Skip to main content

User Profiles

Empower users to manage their own information.

Overview​

The User Profile feature allows users to view and update their personal information, security settings, and preferences. It's a central hub for everything related to the user's account within LibreApps Desktop dashboard.

Key Features​

  • Personal Information: Update name, email, phone number, and other custom profile fields.
  • Avatar Management: Upload and crop profile pictures.
  • Security Settings: Change passwords, enable/disable multi-factor authentication (MFA), and view active sessions.
  • Preferences: Manage notification settings, language preferences, and theme choices.
  • Account Deletion: Allow users to request account deletion in compliance with privacy regulations.

How it Works​

  1. Profile Page: The user navigates to the profile page (typically /profile).
  2. Data Fetching: The frontend fetches the user's current profile data from the backend API.
  3. Editing: The user makes changes to their information using pre-built form components.
  4. Validation: The frontend and backend validate the updated data (e.g., checking for valid email format).
  5. Saving: The updated data is sent to the backend and saved to the database.
  6. Syncing: If using an external identity provider (like Keycloak), the changes are synced to that provider.

Customization​

You can customize the User Profile experience by:

  • Adding Custom Fields: Extend the user model to include additional fields like job title, department, or social media links.
  • Modifying the UI: Customize the layout and styling of the profile page to match your brand.
  • Integrating with Third-party Services: Connect the profile page to other services, such as a CRM or marketing automation platform.

Best Practices​

  • ✅ Do this: Provide clear and helpful error messages for all validation failures.
  • ✅ Do this: Ensure that sensitive information (like passwords) is handled securely.
  • ❌ Don't do this: Ask for more information than is necessary for your application's functionality.