Skip to main content
Shopper requires an existing Laravel 11.28+, 12.x, or 13.x application. If you do not have one yet, create a new Laravel project first by following the Laravel installation guide.

Install the Package

Install shopper/framework via Composer:
composer require shopper/framework
If you have a cached config from a previous setup, run php artisan config:clear before installing.

Prepare Your User Model

Shopper relies on your User model having certain relationships and methods for authentication, permissions, and admin panel access. Add the InteractsWithShopper trait and implement the ShopperUser interface on your User model:
app/Models/User.php
use Illuminate\Foundation\Auth\User as Authenticatable;
use Shopper\Models\Contracts\ShopperUser;
use Shopper\Traits\InteractsWithShopper;

class User extends Authenticatable implements ShopperUser
{
    use InteractsWithShopper;

    protected $hidden = [
        'password',
        'remember_token',
        'store_two_factor_secret',
        'store_two_factor_recovery_codes',
    ];
}
The InteractsWithShopper trait provides relationships for roles, permissions, orders, addresses, and two-factor authentication. The ShopperUser interface ensures your model adheres to the contract expected by Shopper’s admin panel.

Run the Installer

The install command publishes configuration files, creates the asset symlink, and optionally runs migrations and seeders:
php artisan shopper:install
The installer performs these steps:
  1. Publishes Shopper config files to config/shopper/
  2. Publishes Spatie MediaLibrary migrations
  3. Publishes Filament assets
  4. Creates a symlink from vendor/shopper/framework/public to public/cpanel (or your configured prefix)
  5. Prompts you to run migrations and seed the database with roles, permissions, and default data
All Shopper database tables are prefixed with sh_ by default to avoid conflicts with your existing tables. You can change this in config/shopper/core.php.

Create an Admin User

Create your first admin user to access the dashboard:
php artisan shopper:user
The command prompts for an email, first name, last name, and password. The user is automatically assigned the administrator role.

Access the Admin Panel

If you are using Laravel Herd or Laravel Valet, visit your application at:
http://your-project.test/cpanel/login
If you are using php artisan serve, the admin panel is available at http://localhost:8000/cpanel/login. The /cpanel prefix is configurable. See the Configuration page for details.

Next Steps

Configuration

Customize the admin prefix, models, middleware, and settings.

Dashboard

Learn about the dashboard components and how to customize them.

Products

Start building your product catalog.