PHPackages                             jscustom/laravel-user-management - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. jscustom/laravel-user-management

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

jscustom/laravel-user-management
================================

Laravel package for user management. Includes user, user profile and user role.

v0.0.3-alpha(3y ago)125[1 issues](https://github.com/JSCustom/laravel-user-management/issues)MITPHPPHP ^7.0|^8.0

Since Jun 10Pushed 3y agoCompare

[ Source](https://github.com/JSCustom/laravel-user-management)[ Packagist](https://packagist.org/packages/jscustom/laravel-user-management)[ RSS](/packages/jscustom-laravel-user-management/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (2)Versions (5)Used By (0)

Laravel User Management API
===========================

[](#laravel-user-management-api)

Laravel package for user management. Includes user, user profile and user role.

Table of Contents
-----------------

[](#table-of-contents)

[Getting Started](#getting-started)
[Compatible Packages](#compatible-packages)
[Installation](#installation)
[How to Use](#how-to-use)
[Download Postman API](#download-postman-api)
[User Management](#user-management)
[Create User API](#create-user-api)
[Update User API](#update-user-api)
[View User API](#view-user-api)
[User List API](#user-list-api)
[Delete User API](#delete-user-api)
[User Role Management](#user-role-management)
[Create User Role API](#create-user-role-api)
[Update User Role API](#update-user-role-api)
[View User Role API](#view-user-role-api)
[User Role List API](#user-role-list-api)
[Delete User Role API](#delete-user-role-api)
[Support](#support)

Getting Started
---------------

[](#getting-started)

Below are the steps in order to integrate user management API to your Laravel project.

Compatible Packages
-------------------

[](#compatible-packages)

This package works well with [Laravel Sanctum](https://laravel.com/docs/7.x/sanctum).

Installation
------------

[](#installation)

Install the package using composer:

```
composer require jscustom/laravel-user-management
```

Export the configuration file:

```
php artisan vendor:publish --provider="JSCustom\LaravelUserManagement\Providers\LaravelUserManagementServiceProvider" --tag="config"
```

Export the migration files:

```
php artisan vendor:publish --provider="JSCustom\LaravelUserManagement\Providers\LaravelUserManagementServiceProvider" --tag="migrations"
```

Do a quick migration:

```
php artisan migrate --path=/database/migrations/laravel-user-management
```

How To Use
----------

[](#how-to-use)

### Download Postman API

[](#download-postman-api)

Download the Postman API Collection [here](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/JSCustom/laravel-user-management/blob/master/src/assets/postman/Laravel_User_Management.postman_collection.json).

### User Management

[](#user-management)

**Features**

- Create User
- Update User
- View User Details
- View UserList
- Delete User

**Models**

```
JSCustom\LaravelUserManagement\Models\User
JSCustom\LaravelUserManagement\Models\UserAddress
JSCustom\LaravelUserManagement\Models\UserProfile
```

### Create User API

[](#create-user-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController
```

**URL**

```
{{url}}/api/user
```

**Form Data**

```
{
  "username": "stevengrant",
  "email": "stevengrant@mail.com",
  "status": 1,
  "role_id": 1,
  "first_name": "Steven",
  "last_name": "Grant",
}
```

**Method**

```
POST
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User has been saved.",
  "payload": {
    "user": {
      "username": "stevengrant",
      "email": "stevengrant@mail.com",
      "status": 1,
      "role_id": 1,
      "updated_at": "2022-05-23T07:52:41.000000Z",
      "created_at": "2022-05-23T07:52:41.000000Z",
      "id": 2,
      "password_unhashed": "X2QQTVZZ",
      "user_role": {
        "id": 1,
        "role": "Developer",
        "description": "Developer",
        "created_at": "2022-05-23T15:52:12.000000Z",
        "updated_at": "2022-05-23T15:52:12.000000Z"
      },
      "user_profile": {
        "id": 2,
        "user_id": 2,
        "first_name": "Steven",
        "last_name": "Grant",
        "created_at": "2022-05-23T07:52:41.000000Z",
        "updated_at": "2022-05-23T07:52:41.000000Z"
      },
      "user_address": {
        "id": 2,
        "user_id": 2,
        "line_1": null,
        "line_2": null,
        "city_id": null,
        "province_id": null,
        "postal_code": null,
        "country_id": null,
        "other_address_details": null,
        "created_at": "2022-05-23T07:52:41.000000Z",
        "updated_at": "2022-05-23T07:52:41.000000Z"
      }
    }
  }
}
```

### Update User API

[](#update-user-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController
```

**URL**

```
{{url}}/api/user/$id
```

**Form Data**

```
{
  "username": "stevengrant",
  "email": "stevengrant@mail.com",
  "status": 1,
  "role_id": 1,
  "first_name": "Steven",
  "last_name": "Grant"
}
```

**Method**

```
POST
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User has been saved.",
  "payload": {
    "user": {
      "id": 2,
      "username": "stevengrant",
      "email": "stevengrant@mail.com",
      "status": 1,
      "role_id": 1,
      "email_verified_at": null,
      "created_at": "2022-05-23T07:52:41.000000Z",
      "updated_at": "2022-05-23T07:54:02.000000Z",
      "password_unhashed": "OHYY0NB6",
      "user_role": {
        "id": 1,
        "role": "Developer",
        "description": "Developer",
        "created_at": "2022-05-23T15:52:12.000000Z",
        "updated_at": "2022-05-23T15:52:12.000000Z"
      },
      "user_profile": {
        "id": 2,
        "user_id": 2,
        "first_name": "Steven",
        "last_name": "Grant",
        "created_at": "2022-05-23T07:52:41.000000Z",
        "updated_at": "2022-05-23T07:52:41.000000Z"
      },
      "user_address": {
        "id": 2,
        "user_id": 2,
        "line_1": null,
        "line_2": null,
        "city_id": null,
        "province_id": null,
        "postal_code": null,
        "country_id": null,
        "other_address_details": null,
        "created_at": "2022-05-23T07:52:41.000000Z",
        "updated_at": "2022-05-23T07:52:41.000000Z"
      }
    }
  }
}
```

### View User API

[](#view-user-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController
```

**URL**

```
{{url}}/api/user/$id
```

**Method**

```
GET
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User found.",
  "payload": {
    "user": {
      "id": 2,
      "username": "stevengrant",
      "email": "stevengrant@mail.com",
      "status": 1,
      "role_id": 1,
      "email_verified_at": null,
      "created_at": "2022-05-23T07:52:41.000000Z",
      "updated_at": "2022-05-23T07:54:02.000000Z",
      "user_role": {
        "id": 1,
        "role": "Developer",
        "description": "Developer",
        "created_at": "2022-05-23T15:52:12.000000Z",
        "updated_at": "2022-05-23T15:52:12.000000Z"
      },
      "user_profile": {
        "id": 2,
        "user_id": 2,
        "first_name": "Steven",
        "last_name": "Grant",
        "created_at": "2022-05-23T07:52:41.000000Z",
        "updated_at": "2022-05-23T07:52:41.000000Z"
      },
      "user_address": {
        "id": 2,
        "user_id": 2,
        "line_1": null,
        "line_2": null,
        "city_id": null,
        "province_id": null,
        "postal_code": null,
        "country_id": null,
        "other_address_details": null,
        "created_at": "2022-05-23T07:52:41.000000Z",
        "updated_at": "2022-05-23T07:52:41.000000Z"
      }
    }
  }
}
```

### User List API

[](#user-list-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController
```

**URL**

```
{{url}}/api/user/list
```

**Parameters**

```
{
  "page": 1,
  "limit": 10,
  "q": '',
  "order_column": '',
  "order_direction": "asc",
  "created_from": "2022-01-01",
  "created_to": "2022-05-31"
}
```

**Method**

```
GET
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "message": "Users found.",
  "payload": {
    "users": {
      "current_page": 1,
      "data": [
        {
          "id": 1,
          "username": "developer",
          "email": "developer@mail.com",
          "created_at": "2022-05-23T15:52:12.000000Z",
          "first_name": "Developer",
          "last_name": "Developer",
          "line_1": null,
          "line_2": null,
          "postal_code": null,
          "other_address_details": null,
          "role": "Developer"
        },
        {
          "id": 3,
          "username": "jakelockley",
          "email": "jakelockley@mail.com",
          "created_at": "2022-05-23T07:55:58.000000Z",
          "first_name": "Jake",
          "last_name": "Lockley",
          "line_1": null,
          "line_2": null,
          "postal_code": null,
          "other_address_details": null,
          "role": "Developer"
        },
        {
          "id": 4,
          "username": "marcspector",
          "email": "marcspector@mail.com",
          "created_at": "2022-05-23T07:56:15.000000Z",
          "first_name": "Marc",
          "last_name": "Spector",
          "line_1": null,
          "line_2": null,
          "postal_code": null,
          "other_address_details": null,
          "role": "Developer"
        },
        {
          "id": 2,
          "username": "stevengrant",
          "email": "stevengrant@mail.com",
          "created_at": "2022-05-23T07:52:41.000000Z",
          "first_name": "Steven",
          "last_name": "Grant",
          "line_1": null,
          "line_2": null,
          "postal_code": null,
          "other_address_details": null,
          "role": "Developer"
        }
      ],
      "first_page_url": "http://127.0.0.1:8000/api/user/list?page=1",
      "from": 1,
      "last_page": 1,
      "last_page_url": "http://127.0.0.1:8000/api/user/list?page=1",
      "links": [
        {
          "url": null,
          "label": "&laquo; Previous",
          "active": false
        },
        {
          "url": "http://127.0.0.1:8000/api/user/list?page=1",
          "label": "1",
          "active": true
        },
        {
          "url": null,
          "label": "Next &raquo;",
          "active": false
        }
      ],
      "next_page_url": null,
      "path": "http://127.0.0.1:8000/api/user/list",
      "per_page": "10",
      "prev_page_url": null,
      "to": 4,
      "total": 4
    }
  }
}
```

### Delete User API

[](#delete-user-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\User\UserController
```

**URL**

```
{{url}}/api/user/$id
```

**Method**

```
DELETE
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User has been deleted."
}
```

### User Role Management

[](#user-role-management)

**Features**

- Create User Role
- Update User Role
- View User Role Details
- View User Role List
- Delete User Role

**Models**

```
JSCustom\LaravelUserManagement\Models\UserRole
```

### Create User Role API

[](#create-user-role-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController
```

**URL**

```
{{url}}/api/user-role
```

**Form Data**

```
{
  "role": "Staff",
  "description": "Have access to staff level functions"
}
```

**Method**

```
POST
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User role been saved.",
  "payload": {
    "user_role": {
      "role": "Staff",
      "description": "Have access to administrator level functions",
      "updated_at": "2022-05-23T08:01:10.000000Z",
      "created_at": "2022-05-23T08:01:10.000000Z",
      "id": 2
    }
  }
}
```

### Update User Role API

[](#update-user-role-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController
```

**URL**

```
{{url}}/api/user-role/$id
```

**Form Data**

```
{
  "role": "Staff",
  "description": "Have access to staff level functions"
}
```

**Method**

```
POST
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User role been saved.",
  "payload": {
    "user_role": {
      "id": 2,
      "role": "Staff",
      "description": "Have access to staff level functions",
      "created_at": "2022-05-23T08:01:10.000000Z",
      "updated_at": "2022-05-23T08:02:27.000000Z"
    }
  }
}
```

### View User Role API

[](#view-user-role-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController
```

**URL**

```
{{url}}/api/user-role/$id
```

**Method**

```
GET
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User role found.",
  "payload": {
    "user_role": {
      "id": 2,
      "role": "Staff",
      "description": "Have access to staff level functions",
      "created_at": "2022-05-23T08:01:10.000000Z",
      "updated_at": "2022-05-23T08:02:27.000000Z"
    }
  }
}
```

### User Role List API

[](#user-role-list-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController
```

**URL**

```
{{url}}/api/user-role/list
```

**Parameters**

```
{
  "page": 1,
  "limit": 10,
  "q": '',
  "order_column": '',
  "order_direction": "asc",
  "created_from": "2022-01-01",
  "created_to": "2022-05-31"
}
```

**Method**

```
GET
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "message": "User roles found.",
  "payload": {
    "user_roles": {
      "current_page": 1,
      "data": [
        {
            "id": 1,
            "role": "Developer",
            "description": "Developer",
            "created_at": "2022-05-23T15:52:12.000000Z",
            "updated_at": "2022-05-23T15:52:12.000000Z"
        },
        {
            "id": 2,
            "role": "Staff",
            "description": "Have access to staff level functions",
            "created_at": "2022-05-23T08:01:10.000000Z",
            "updated_at": "2022-05-23T08:02:27.000000Z"
        }
      ],
      "first_page_url": "http://127.0.0.1:8000/api/user-role/list?page=1",
      "from": 1,
      "last_page": 1,
      "last_page_url": "http://127.0.0.1:8000/api/user-role/list?page=1",
      "links": [
        {
          "url": null,
          "label": "&laquo; Previous",
          "active": false
        },
        {
          "url": "http://127.0.0.1:8000/api/user-role/list?page=1",
          "label": "1",
          "active": true
        },
        {
          "url": null,
          "label": "Next &raquo;",
          "active": false
        }
      ],
      "next_page_url": null,
      "path": "http://127.0.0.1:8000/api/user-role/list",
      "per_page": "10",
      "prev_page_url": null,
      "to": 2,
      "total": 2
    }
  }
}
```

### Delete User Role API

[](#delete-user-role-api)

**Controller**

```
\JSCustom\LaravelUserManagement\Http\Controllers\UserRole\UserRoleController
```

**URL**

```
{{url}}/api/user-role/$id
```

**Method**

```
DELETE
```

**Headers**
(**Note: `Authorization` is not required if `sanctum > enabled = false` in `config/user.php`)**

```
{
  "Authorization": "Bearer ...",
  "Accept": "application/json"
}
```

**Response**

```
{
  "status": true,
  "message": "User role has been deleted."
}
```

### Support

[](#support)

For support, email .

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~72 days

Total

3

Last Release

1288d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b559eadc57e518a855212ca3c95827b9ed955c09b143490c82ba11d3e81e63e8?d=identicon)[jeddsaliba](/maintainers/jeddsaliba)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jscustom-laravel-user-management/health.svg)

```
[![Health](https://phpackages.com/badges/jscustom-laravel-user-management/health.svg)](https://phpackages.com/packages/jscustom-laravel-user-management)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[olssonm/l5-very-basic-auth

Laravel stateless HTTP basic auth without the need for a database

1662.5M1](/packages/olssonm-l5-very-basic-auth)[stechstudio/laravel-jwt

Helper package that makes it easy to generate, consume, and protect routes with JWT tokens in Laravel

126117.6k](/packages/stechstudio-laravel-jwt)[scaler-tech/laravel-saml2

SAML2 Service Provider integration for Laravel applications, based on OneLogin toolkit

2737.5k](/packages/scaler-tech-laravel-saml2)[truckersmp/steam-socialite

Laravel Socialite provider for Steam OpenID.

1516.7k](/packages/truckersmp-steam-socialite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
