{"id":31785442,"url":"https://github.com/filaforge/filament-user-manager","last_synced_at":"2025-10-10T11:55:11.822Z","repository":{"id":310710881,"uuid":"1040960041","full_name":"filaforge/filament-user-manager","owner":"filaforge","description":"Filament plugin for user management and administration","archived":false,"fork":false,"pushed_at":"2025-08-19T23:32:17.000Z","size":122,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-25T18:22:51.486Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/filaforge.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-19T19:07:56.000Z","updated_at":"2025-09-23T12:51:29.000Z","dependencies_parsed_at":"2025-08-19T20:35:05.825Z","dependency_job_id":"b776ea3a-cf3e-4088-9087-8f3d0fbd1107","html_url":"https://github.com/filaforge/filament-user-manager","commit_stats":null,"previous_names":["filaforge/filament-user-manager"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/filaforge/filament-user-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filaforge%2Ffilament-user-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filaforge%2Ffilament-user-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filaforge%2Ffilament-user-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filaforge%2Ffilament-user-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/filaforge","download_url":"https://codeload.github.com/filaforge/filament-user-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filaforge%2Ffilament-user-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003717,"owners_count":26083610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-10T11:55:10.740Z","updated_at":"2025-10-10T11:55:11.814Z","avatar_url":"https://github.com/filaforge.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Filaforge User Manager\n\nA comprehensive Filament plugin that provides advanced user management capabilities including user CRUD operations, role management, permissions, and user activity tracking.\n\n## Features\n\n- **User Management**: Complete CRUD operations for user accounts\n- **Role Management**: Create, edit, and assign user roles\n- **Permission System**: Granular permission control for different actions\n- **User Profiles**: Detailed user profile management and customization\n- **Activity Tracking**: Monitor user login history and activity logs\n- **Bulk Operations**: Perform actions on multiple users simultaneously\n- **User Import/Export**: Import users from CSV/Excel and export user data\n- **Password Management**: Secure password policies and reset functionality\n- **User Groups**: Organize users into logical groups and teams\n- **Audit Logging**: Comprehensive audit trail for all user operations\n- **API Integration**: RESTful API endpoints for user management\n- **Multi-tenancy Support**: Support for multi-tenant applications\n\n## Installation\n\n### 1. Install via Composer\n\n```bash\ncomposer require filaforge/user-manager\n```\n\n### 2. Publish \u0026 Migrate\n\n```bash\n# Publish provider groups (config, views, migrations)\nphp artisan vendor:publish --provider=\"Filaforge\\\\UserManager\\\\Providers\\\\UserManagerServiceProvider\"\n\n# Run migrations\nphp artisan migrate\n```\n\n### 3. Register Plugin\n\nAdd the plugin to your Filament panel provider:\n\n```php\nuse Filament\\Panel;\n\npublic function panel(Panel $panel): Panel\n{\n    return $panel\n        // ... other configuration\n        -\u003eplugin(\\Filaforge\\UserManager\\UserManagerPlugin::make());\n}\n```\n\n## Setup\n\n### Prerequisites\n\nBefore using this plugin, ensure your system meets these requirements:\n\n- **Laravel Installation**: Laravel 10+ with proper database setup\n- **Filament Panel**: Configured Filament admin panel\n- **Database**: MySQL, PostgreSQL, or SQLite database\n- **User Model**: Laravel's default User model or custom user model\n- **Authentication**: Laravel's authentication system configured\n\n### Configuration\n\nThe plugin will automatically:\n- Publish configuration files to `config/user-manager.php`\n- Publish view files to `resources/views/vendor/user-manager/`\n- Publish migration files to `database/migrations/`\n- Register necessary routes and middleware\n\n### User Manager Configuration\n\nConfigure the user manager in the published config file:\n\n```php\n// config/user-manager.php\nreturn [\n    'enabled' =\u003e env('USER_MANAGER_ENABLED', true),\n    'models' =\u003e [\n        'user' =\u003e \\App\\Models\\User::class,\n        'role' =\u003e \\Filaforge\\UserManager\\Models\\Role::class,\n        'permission' =\u003e \\Filaforge\\UserManager\\Models\\Permission::class,\n    ],\n    'features' =\u003e [\n        'roles' =\u003e env('USER_MANAGER_ROLES_ENABLED', true),\n        'permissions' =\u003e env('USER_MANAGER_PERMISSIONS_ENABLED', true),\n        'activity_logging' =\u003e env('USER_MANAGER_ACTIVITY_LOGGING', true),\n        'bulk_operations' =\u003e env('USER_MANAGER_BULK_OPERATIONS', true),\n        'import_export' =\u003e env('USER_MANAGER_IMPORT_EXPORT', true),\n        'user_groups' =\u003e env('USER_MANAGER_USER_GROUPS', true),\n    ],\n    'security' =\u003e [\n        'password_min_length' =\u003e env('USER_MANAGER_PASSWORD_MIN_LENGTH', 8),\n        'password_requirements' =\u003e [\n            'uppercase' =\u003e true,\n            'lowercase' =\u003e true,\n            'numbers' =\u003e true,\n            'symbols' =\u003e true,\n        ],\n        'session_timeout' =\u003e env('USER_MANAGER_SESSION_TIMEOUT', 3600),\n        'max_login_attempts' =\u003e env('USER_MANAGER_MAX_LOGIN_ATTEMPTS', 5),\n        'lockout_duration' =\u003e env('USER_MANAGER_LOCKOUT_DURATION', 900),\n    ],\n    'notifications' =\u003e [\n        'welcome_email' =\u003e env('USER_MANAGER_WELCOME_EMAIL', true),\n        'password_reset' =\u003e env('USER_MANAGER_PASSWORD_RESET', true),\n        'account_locked' =\u003e env('USER_MANAGER_ACCOUNT_LOCKED', true),\n        'role_changed' =\u003e env('USER_MANAGER_ROLE_CHANGED', true),\n    ],\n    'pagination' =\u003e [\n        'users_per_page' =\u003e env('USER_MANAGER_USERS_PER_PAGE', 25),\n        'roles_per_page' =\u003e env('USER_MANAGER_ROLES_PER_PAGE', 20),\n        'permissions_per_page' =\u003e env('USER_MANAGER_PERMISSIONS_PER_PAGE', 30),\n    ],\n];\n```\n\n### Environment Variables\n\nAdd these to your `.env` file:\n\n```env\nUSER_MANAGER_ENABLED=true\nUSER_MANAGER_ROLES_ENABLED=true\nUSER_MANAGER_PERMISSIONS_ENABLED=true\nUSER_MANAGER_ACTIVITY_LOGGING=true\nUSER_MANAGER_BULK_OPERATIONS=true\nUSER_MANAGER_IMPORT_EXPORT=true\nUSER_MANAGER_USER_GROUPS=true\nUSER_MANAGER_PASSWORD_MIN_LENGTH=8\nUSER_MANAGER_SESSION_TIMEOUT=3600\nUSER_MANAGER_MAX_LOGIN_ATTEMPTS=5\nUSER_MANAGER_LOCKOUT_DURATION=900\nUSER_MANAGER_WELCOME_EMAIL=true\nUSER_MANAGER_PASSWORD_RESET=true\nUSER_MANAGER_ACCOUNT_LOCKED=true\nUSER_MANAGER_ROLE_CHANGED=true\nUSER_MANAGER_USERS_PER_PAGE=25\nUSER_MANAGER_ROLES_PER_PAGE=20\nUSER_MANAGER_PERMISSIONS_PER_PAGE=30\n```\n\n## Usage\n\n### Accessing User Management\n\n1. Navigate to your Filament admin panel\n2. Look for the \"User Management\" menu section\n3. Access Users, Roles, and Permissions as needed\n\n### User Management\n\n#### Creating Users\n1. Navigate to Users → Create User\n2. Fill in required user information\n3. Assign roles and permissions\n4. Set password or enable password reset\n5. Save the user\n\n#### Editing Users\n1. Navigate to Users → Select User\n2. Modify user information as needed\n3. Update roles and permissions\n4. Change password if required\n5. Save changes\n\n#### Deleting Users\n1. Navigate to Users → Select User\n2. Click Delete button\n3. Confirm deletion\n4. Handle user data cleanup\n\n### Role Management\n\n#### Creating Roles\n1. Navigate to Roles → Create Role\n2. Define role name and description\n3. Assign permissions to the role\n4. Set role hierarchy if applicable\n5. Save the role\n\n#### Managing Permissions\n1. Navigate to Permissions → Create Permission\n2. Define permission name and description\n3. Assign permission to roles\n4. Set permission scope and conditions\n5. Save the permission\n\n### Bulk Operations\n\n#### Bulk User Actions\n1. Select multiple users from the list\n2. Choose action (activate, deactivate, delete, etc.)\n3. Confirm bulk operation\n4. Monitor operation progress\n\n#### User Import/Export\n1. **Import Users**:\n   - Prepare CSV/Excel file with user data\n   - Navigate to Users → Import\n   - Upload file and map columns\n   - Review and confirm import\n\n2. **Export Users**:\n   - Navigate to Users → Export\n   - Select export format (CSV, Excel, JSON)\n   - Choose fields to export\n   - Download exported file\n\n### User Groups\n\n#### Creating Groups\n1. Navigate to User Groups → Create Group\n2. Define group name and description\n3. Add users to the group\n4. Set group permissions\n5. Save the group\n\n#### Managing Groups\n1. Edit group membership\n2. Update group permissions\n3. Monitor group activity\n4. Archive inactive groups\n\n## Troubleshooting\n\n### Common Issues\n\n- **Users not appearing**: Check user model configuration and relationships\n- **Permission errors**: Verify role and permission assignments\n- **Migration failures**: Check database connection and table structure\n- **Performance issues**: Optimize queries and enable caching\n\n### Debug Steps\n\n1. Check the plugin configuration:\n```bash\nphp artisan config:show user-manager\n```\n\n2. Verify routes are registered:\n```bash\nphp artisan route:list | grep user-manager\n```\n\n3. Check database tables:\n```bash\nphp artisan migrate:status\nphp artisan db:show\n```\n\n4. Test user model relationships:\n```bash\nphp artisan tinker\n$user = \\App\\Models\\User::first();\n$user-\u003eroles;\n$user-\u003epermissions;\n```\n\n5. Clear caches:\n```bash\nphp artisan optimize:clear\nphp artisan config:clear\nphp artisan route:clear\n```\n\n6. Check logs for errors:\n```bash\ntail -f storage/logs/laravel.log\n```\n\n### User-Specific Issues\n\n#### User Creation\n- **Validation errors**: Check required fields and validation rules\n- **Duplicate emails**: Verify email uniqueness constraints\n- **Password issues**: Check password policy requirements\n\n#### Role Assignment\n- **Role not found**: Verify role exists and is active\n- **Permission denied**: Check user's role permissions\n- **Hierarchy issues**: Verify role hierarchy configuration\n\n#### Authentication\n- **Login failures**: Check user status and lockout settings\n- **Session issues**: Verify session configuration\n- **Permission errors**: Check role and permission assignments\n\n## Security Considerations\n\n### Access Control\n\n- **Role-based access**: Implement proper role hierarchy\n- **Permission granularity**: Use specific permissions for actions\n- **User isolation**: Ensure users can only access appropriate data\n- **Audit logging**: Track all user management activities\n\n### Best Practices\n\n- Regularly review and update user roles and permissions\n- Implement strong password policies\n- Monitor user activity and suspicious behavior\n- Use HTTPS for secure access\n- Regular security audits of user access\n\n### Data Protection\n\n- **Personal information**: Handle user data according to privacy regulations\n- **Password security**: Use secure password hashing and policies\n- **Session management**: Implement secure session handling\n- **Data retention**: Define data retention and deletion policies\n\n## Performance Optimization\n\n### System Requirements\n\n- **Database**: Optimized database with proper indexing\n- **Memory**: Sufficient RAM for user operations\n- **Storage**: Fast storage for user data and logs\n- **Network**: Stable network for user management operations\n\n### Optimization Tips\n\n- Enable database query caching\n- Implement user data pagination\n- Use database indexes for frequently queried fields\n- Monitor and optimize slow queries\n- Implement user data archiving for inactive users\n\n### Caching Strategy\n\n- **User data caching**: Cache frequently accessed user information\n- **Role caching**: Cache role and permission data\n- **Query result caching**: Cache complex query results\n- **Cache invalidation**: Implement proper cache invalidation\n\n## Uninstall\n\n### 1. Remove Plugin Registration\n\nRemove the plugin from your panel provider:\n```php\n// remove -\u003eplugin(\\Filaforge\\UserManager\\UserManagerPlugin::make())\n```\n\n### 2. Roll Back Migrations (Optional)\n\n```bash\nphp artisan migrate:rollback\n# or roll back specific published files if needed\n```\n\n### 3. Remove Published Assets (Optional)\n\n```bash\nrm -f config/user-manager.php\nrm -rf resources/views/vendor/user-manager\n```\n\n### 4. Remove Package and Clear Caches\n\n```bash\ncomposer remove filaforge/user-manager\nphp artisan optimize:clear\n```\n\n### 5. Clean Up Environment Variables\n\nRemove these from your `.env` file:\n```env\nUSER_MANAGER_ENABLED=true\nUSER_MANAGER_ROLES_ENABLED=true\nUSER_MANAGER_PERMISSIONS_ENABLED=true\nUSER_MANAGER_ACTIVITY_LOGGING=true\nUSER_MANAGER_BULK_OPERATIONS=true\nUSER_MANAGER_IMPORT_EXPORT=true\nUSER_MANAGER_USER_GROUPS=true\nUSER_MANAGER_PASSWORD_MIN_LENGTH=8\nUSER_MANAGER_SESSION_TIMEOUT=3600\nUSER_MANAGER_MAX_LOGIN_ATTEMPTS=5\nUSER_MANAGER_LOCKOUT_DURATION=900\nUSER_MANAGER_WELCOME_EMAIL=true\nUSER_MANAGER_PASSWORD_RESET=true\nUSER_MANAGER_ACCOUNT_LOCKED=true\nUSER_MANAGER_ROLE_CHANGED=true\nUSER_MANAGER_USERS_PER_PAGE=25\nUSER_MANAGER_ROLES_PER_PAGE=20\nUSER_MANAGER_PERMISSIONS_PER_PAGE=30\n```\n\n### 6. Data Cleanup\n\nAfter uninstalling, consider:\n- Removing user management tables\n- Cleaning up user-related data\n- Removing custom user management code\n- Updating authentication configuration\n- Reviewing user access policies\n\n## Support\n\n- **Documentation**: [GitHub Repository](https://github.com/filaforge/user-manager)\n- **Issues**: [GitHub Issues](https://github.com/filaforge/user-manager/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/filaforge/user-manager/discussions)\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n## License\n\nThis plugin is open-sourced software licensed under the [MIT license](LICENSE).\n\n---\n\n**Made with ❤️ by the Filaforge Team**\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilaforge%2Ffilament-user-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffilaforge%2Ffilament-user-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilaforge%2Ffilament-user-manager/lists"}