# [Usage](../../../usage.md) > User profile

Use the user profile module when authenticated users should view and edit their own account (avatar, username, password) without going through the admin [Users resource](users_resource.md). It renders `UserHelper::profile()` / `profileEdit()` inside the standard UI shell, so session messages and the navbar user menu keep working.

![img.png](img/user_profile_1.png)

K-Framework provides an integrated layout for users to edit their own profile, upload an avatar picture, change their username or update their password.

---

# Installation

Be sure to run the migrations:
```bash
php artisan migrate
```

To enable it, is sufficient to edit the configuration file:
```html
config/k-framework/modules.php
```
and add the line:
```php
'user_profile' => true,
```

Once enabled, in the user menu in the navbar, will be available the user edit:

![img.png](img/user_profile_2.png)

## Example

```php
// config/k-framework/modules.php
'user_profile' => true,
```

```php
// routes/web.php — pages rendered by UserHelper (already registered by the framework)
Route::get('/profile', fn () => \KFramework\Helpers\UserHelper::profile())->name('kfw.users.profile');
Route::get('/profile/edit', fn () => \KFramework\Helpers\UserHelper::profileEdit())->name('kfw.users.profile-edit');
```

```html
<!-- Blade link -->
<a href="{{ route('kfw.users.profile') }}">My profile</a>
```

The edit page posts a standard [Form](../../components/forms/form.md); success/error feedback uses [Session messages](../frontend/session_messages.md).

## See also

- [Usage](../../../usage.md)
- [Users resource](users_resource.md) — admin-side user management
- [Session messages](../frontend/session_messages.md) — `success` / `error` feedback after save
- [Form component](../../components/forms/form.md)