PHPackages                             meubleo/shop - 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. [Admin Panels](/categories/admin)
4. /
5. meubleo/shop

ActiveLibrary[Admin Panels](/categories/admin)

meubleo/shop
============

E-commerce platform for furniture shops — admin panel, catalog, cart, orders and Stripe payments for your Laravel app.

1.0.0(1mo ago)01MITPHPPHP ^8.2

Since Apr 16Pushed 1mo agoCompare

[ Source](https://github.com/Leo-76/meubleo-v2-2)[ Packagist](https://packagist.org/packages/meubleo/shop)[ Docs](https://github.com/meubleo/shop)[ RSS](/packages/meubleo-shop/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (8)Versions (2)Used By (0)

Meubleo Shop v2
===============

[](#meubleo-shop-v2)

[![Latest Version on Packagist](https://camo.githubusercontent.com/60853aa2c4c260b7a9fc1793083238abda5fcfbb55c2d7d2970ddf530ccc89e6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6575626c656f2f73686f702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/meubleo/shop)[![PHP](https://camo.githubusercontent.com/9f667204a37b669e6d52d00b1b2d7d6f7763aecb53d6db90a2e75b9890f01f0d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d6575626c656f2f73686f702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/meubleo/shop)[![License](https://camo.githubusercontent.com/109c0ab9fbd7c328b026b17bf132a4dfd002d0e7e74716048efda4e386521d7f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6575626c656f2f73686f702e7376673f7374796c653d666c61742d737175617265)](LICENSE)

---

Features
--------

[](#features)

FeatureDescription**Screen-based admin**Each admin page is a `Screen` class with `query()`, `commandBar()`, `layout()`**Fluent Field API**`Input::make('name')->title('Name')->required()->placeholder('...')`**Table/Rows Layouts**`TD::make('price')->sort()->alignRight()->render(fn($p) => ...)`**Full e-commerce**Catalogue, cart, Stripe checkout, order management**Multi-ServiceProvider**`FoundationServiceProvider` → chains console, routes, platform providers**Artisan commands**`meubleo:install`, `meubleo:admin`, `meubleo:screen`, `meubleo:table`, `meubleo:rows`, `meubleo:filter`**Publishable stubs**Screens, Layouts, Filters published to `app/Meubleo/`**i18n ready**JSON translation files in `resources/lang/`---

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

[](#installation)

```
composer require meubleo/shop
php artisan meubleo:install
```

That's it. `meubleo:install` will:

1. Publish config, migrations, stubs and assets
2. Run `php artisan migrate`
3. Run `php artisan storage:link`

Then create an admin user:

```
php artisan meubleo:admin
# or with arguments:
php artisan meubleo:admin "John Doe" john@example.com secret123
```

---

Configuration
-------------

[](#configuration)

After install, edit `config/meubleo.php`:

```
return [
    'prefix'   => 'admin',          // Admin URL prefix
    'provider' => \App\Meubleo\MeubleoServiceProvider::class,
    'shop_name' => 'My Shop',
    'tax_rate'  => 0.20,
    'free_shipping_threshold' => 500,
    'shipping_cost'           => 29.90,
    'stripe' => [
        'key'    => env('STRIPE_KEY'),
        'secret' => env('STRIPE_SECRET'),
    ],
];
```

---

Screen pattern
--------------

[](#screen-pattern)

Create a screen:

```
php artisan meubleo:screen ProductListScreen
```

```
// app/Meubleo/Screens/ProductListScreen.php
class ProductListScreen extends Screen
{
    public function query(): iterable
    {
        return ['products' => Product::paginate(20)];
    }

    public function commandBar(): iterable
    {
        return [
            Link::make('New')->icon('bs.plus')->route('meubleo.admin.products.create'),
        ];
    }

    public function layout(): iterable
    {
        return [ProductTableLayout::class];
    }
}
```

---

Table layout
------------

[](#table-layout)

```
php artisan meubleo:table ProductTableLayout
```

```
class ProductTableLayout extends Table
{
    protected string $target = 'products';

    protected function columns(): iterable
    {
        return [
            TD::make('name', 'Product')->sort(),
            TD::make('price', 'Price')
                ->alignRight()
                ->render(fn($p) => meubleo_price($p->price)),
            TD::make('stock', 'Stock')
                ->render(fn($p) => ''.$p->stock.''),
        ];
    }
}
```

---

Rows layout (forms)
-------------------

[](#rows-layout-forms)

```
php artisan meubleo:rows ProductFormLayout
```

```
class ProductFormLayout extends Rows
{
    protected function fields(): iterable
    {
        return [
            Input::make('product.name')->title('Name')->required(),
            Select::make('product.category_id')
                ->fromModel(Category::class, 'name')
                ->title('Category'),
            Input::make('product.price')->title('Price')->type('number'),
            Switcher::make('product.is_featured')->title('Featured'),
        ];
    }
}
```

---

Artisan commands
----------------

[](#artisan-commands)

CommandDescription`meubleo:install`Full installation (publish + migrate)`meubleo:admin [name] [email] [password]`Create/update admin user`meubleo:screen ClassName`Generate a Screen class`meubleo:table ClassName`Generate a Table Layout`meubleo:rows ClassName`Generate a Rows Layout`meubleo:filter ClassName`Generate a Filter class`meubleo:publish [--config|--views|--assets|--migrations|--stubs]`Publish specific assets---

Package structure
-----------------

[](#package-structure)

```
src/
├── Platform/
│   ├── Shop.php                      ← Central singleton registry
│   ├── MeubleoServiceProvider.php    ← Abstract provider to extend
│   ├── Providers/
│   │   ├── FoundationServiceProvider ← Auto-discovered entry point
│   │   ├── ConsoleServiceProvider    ← Artisan commands + publish tags
│   │   ├── RouteServiceProvider      ← Loads routes
│   │   └── PlatformServiceProvider   ← Loads user's provider
│   ├── Commands/                     ← meubleo:install, screen, table…
│   ├── Http/
│   │   ├── Controllers/              ← Shop + Cart + Checkout + Orders
│   │   ├── Screens/                  ← DashboardScreen, ProductListScreen…
│   │   ├── Layouts/                  ← ProductTableLayout, ProductFormLayout
│   │   └── Middleware/AdminMiddleware
│   ├── Models/                       ← Product, Category, Order… (meubleo_* tables)
│   └── Services/                     ← CartService, OrderService
├── Screen/
│   ├── Screen.php                    ← Abstract base screen
│   ├── Field.php                     ← Abstract field with fluent API
│   ├── Layout.php, TD.php, Action.php
│   ├── Fields/    Input, Select, TextArea, Switcher, Password, DateTimer…
│   ├── Layouts/   Table, Rows (abstract)
│   └── Actions/   Button, Link, Menu
├── Filters/Filter.php
└── Support/
    ├── Toast.php
    ├── helpers.php                   ← toast(), meubleo_price(), meubleo_prefix()
    └── Facades/  Shop, Cart

stubs/app/Meubleo/               ← Published to app/Meubleo/ on install
    MeubleoServiceProvider.php
    Screens/Product/ProductListScreen.php
    Layouts/Product/ProductTableLayout.php
    Filters/ProductNameFilter.php
    routes/meubleo.php

```

---

Stripe test card
----------------

[](#stripe-test-card)

`4242 4242 4242 4242` — any future date, any CVV.

---

License
-------

[](#license)

MIT

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance89

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Unknown

Total

1

Last Release

54d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e5b8976e374fe398e250b83dde310685d3df348f7b992298812beab9b00d5f5c?d=identicon)[Leo-76](/maintainers/Leo-76)

---

Top Contributors

[![Leo-76](https://avatars.githubusercontent.com/u/209856038?v=4)](https://github.com/Leo-76 "Leo-76 (2 commits)")

---

Tags

laravelcmsplatformshopecommerceadminfurniture

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/meubleo-shop/health.svg)

```
[![Health](https://phpackages.com/badges/meubleo-shop/health.svg)](https://phpackages.com/packages/meubleo-shop)
```

###  Alternatives

[orchid/platform

Platform for back-office applications, admin panel or CMS your Laravel app.

4.8k2.5M66](/packages/orchid-platform)[aimeos/aimeos-laravel

Cloud native, API first Laravel eCommerce package with integrated AI for ultra-fast online shops, marketplaces and complex B2B projects

8.6k220.7k5](/packages/aimeos-aimeos-laravel)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[arbory/arbory

Administration interface for Laravel

4853.9k3](/packages/arbory-arbory)[printnow/laravel-admin

Dcat admin 永久分叉版 / 支持 Laravel 10-13, PHP 版本限制 &gt;= 8.1（支持 PHP 8.5）

472.4k](/packages/printnow-laravel-admin)

PHPackages © 2026

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