mawuekom / laravel-usercare
A Users Management Package that includes many features arround user
v3.7.1
2022-04-25 00:30 UTC
Requires
- php: ^7.4|^8.0
- doctrine/dbal: ^3.1
- illuminate/database: ^8.0|^9.0
- illuminate/http: ^8.0|^9.0
- illuminate/support: ^8.0|^9.0
- illuminate/validation: ^8.0|^9.0
- mawuekom/laravel-custom-helpers: ^1.0
- mawuekom/laravel-custom-user: ^2.0
- mawuekom/laravel-lang-resources: ^1.2
- mawuekom/laravel-model-uuid: ^2.0
- mawuekom/laravel-repository: ^1.3
- mawuekom/laravel-request-customizer: ^1.1
- spatie/data-transfer-object: ^3.7
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
This package provide a bunch of features that will help implement users management in your laravel project.
Installation
You can install the package via composer:
composer require mawuekom/laravel-usercare
Usage
Once install, go to config/app.php
to add UsercareServiceProvider
in providers array
Laravel 5.5 and up Uses package auto discovery feature, no need to edit the config/app.php
file.
'providers' => [ ... Mawuekom\Usercare\UsercareServiceProvider::class, ],
php artisan vendor:publish --provider="Mawuekom\Usercare\UsercareServiceProvider"
Or you can publish config
php artisan vendor:publish --provider="Mawuekom\Usercare\UsercareServiceProvider" --tag="config"
Configuration
- You can change connection for models, models path and there is also a handy pretend feature.
- There are many configurable options which have been extended to be able to configured via
.env
file variables. - Editing the configuration file directly may not needed because of this.
- See config file: usercare.php.
<?php /* * You can place your custom package configuration in here. */ return [ 'separator' => '.', /* |-------------------------------------------------------------------------- | USERCARE feature settings |-------------------------------------------------------------------------- */ 'account_type' => [ 'enable' => true, 'name' => 'Account Type', 'resource_name' => 'account_type', 'model' => null, 'table' => [ 'name' => env('USERCARE_ACCOUNT_TYPES_DATABASE_TABLE', 'account_types'), 'primary_key' => env('USERCARE_ACCOUNT_TYPES_DATABASE_TABLE_PRIMARY_KEY', 'id'), ], ], 'user' => [ 'model' => App\Models\User::class, 'name' => 'User', 'resource_name' => 'user', 'table' => [ 'name' => env('USERCARE_USERS_DATABASE_TABLE', 'users'), 'primary_key' => env('USERCARE_USERS_DATABASE_TABLE_PRIMARY_KEY', 'id'), 'account_type_foreign_key' => env('USERCARE_USERS_DATABASE_TABLE_ACCOUNT_TYPE_FOREIGN_KEY', 'account_type_id'), ], ], 'user_profile' => [ 'enable' => true, 'model' => null, 'table' => [ 'name' => env('USERCARE_PROFILES_DATABASE_TABLE', 'profiles'), 'primary_key' => env('USERCARE_PROFILES_DATABASE_TABLE_PRIMARY_KEY', 'id'), 'user_foreign_key' => env('USERCARE_PROFILES_DATABASE_TABLE_USER_FOREIGN_KEY', 'user_id'), ], ], 'user_profile_picture' => [ 'enable' => true, 'model' => null, 'table' => [ 'name' => env('USERCARE_PROFILE_PICTURES_DATABASE_TABLE', 'profile_pictures'), 'primary_key' => env('USERCARE_PROFILE_PICTURES_DATABASE_TABLE_PRIMARY_KEY', 'id'), 'user_foreign_key' => env('USERCARE_PROFILE_PICTURES_DATABASE_TABLE_USER_FOREIGN_KEY', 'user_id'), ], 'default' => [ 'file_source_url' => url('/'), 'avatar' => asset('/'), // asset('default-avatar.png') 'bg_picture' => asset('/'), // asset('default-bg-picture.png') ], ], 'password_history' => [ 'checker' => false, 'number_to_check' => 3, ], /* |-------------------------------------------------------------------------- | Bunch of features to enable or disable. |-------------------------------------------------------------------------- */ 'enable' => [ 'proper_names' => true, 'email_optionality' => false, 'phone_number' => true, 'gender' => true, ], /* |-------------------------------------------------------------------------- | Add uuid support |-------------------------------------------------------------------------- */ 'uuids' => [ 'enable' => true, 'column' => '_id' ], ];
The rest is coming soon
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
License
The MIT License (MIT). Please see License File for more information.