PHPackages                             maksim-yurash/ecommerce-suite - 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. [Framework](/categories/framework)
4. /
5. maksim-yurash/ecommerce-suite

ActiveLibrary[Framework](/categories/framework)

maksim-yurash/ecommerce-suite
=============================

Laravel package for an abstract internet shop: models, migrations, CRUD controllers, API, facades, middleware and tests.

00

Since May 24Compare

[ Source](https://github.com/makonheimak/ecommerce-suite)[ Packagist](https://packagist.org/packages/maksim-yurash/ecommerce-suite)[ RSS](/packages/maksim-yurash-ecommerce-suite/feed)WikiDiscussions Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Ecommerce Suite
=======================

[](#laravel-ecommerce-suite)

Учебный Laravel-пакет для лабораторной работы №3. В пакете реализован абстрактный интернет-магазин: модели, миграции, фабрики, сидер с демо-данными, web CRUD, API CRUD, FormRequest-валидация, API Resources/Collections, middleware проверки версии API, фасад курса валют, фасад расчета доставки и тесты.

Состав пакета
-------------

[](#состав-пакета)

- `src/Models` - модели магазина: товар, категория, поставщик, клиент, склад, заказ, позиция заказа.
- `database/migrations` - миграции таблиц магазина.
- `database/factories` - фабрики моделей.
- `database/seeders/EcommerceSuiteSeeder.php` - фиксированное русскоязычное демо-наполнение.
- `src/Http/Controllers/Crud` - web CRUD-контроллеры.
- `src/Http/Controllers/Api` - API CRUD-контроллеры.
- `src/Http/Requests` - классы валидации входных параметров.
- `src/Http/Resources` - API Resources и Collections.
- `src/Http/Middleware/CheckApiVersion.php` - middleware заголовка `X-API-VERSION`.
- `src/Facades` и `src/Services` - фасады курса валют и расчета доставки.
- `resources/views` - публикуемые Blade-шаблоны CRUD-интерфейса.
- `config/ecommerce-suite.php` - публикуемая конфигурация пакета.
- `tests` - unit/feature-тесты пакета.

Быстрый запуск в новом Laravel-проекте
--------------------------------------

[](#быстрый-запуск-в-новом-laravel-проекте)

Требования: PHP 8.2+, Composer, SQLite или MySQL.

1. Создать Laravel-проект:

```
composer create-project laravel/laravel lab3-demo "^11.0"
cd lab3-demo
```

2. Подключить локальный пакет. Если папка пакета лежит рядом с Laravel-проектом:

```
composer config repositories.ecommerce-suite path ../02_package/ecommerce-suite
composer config minimum-stability dev
composer config prefer-stable true
composer require maksim-yurash/ecommerce-suite:"*"
```

3. Настроить SQLite для простой проверки:

```
cp .env.example .env
php artisan key:generate
```

В `.env` указать:

```
DB_CONNECTION=sqlite
```

Создать файл базы:

```
touch database/database.sqlite
```

На Windows можно создать файл вручную в папке `database` с именем `database.sqlite`.

4. Опубликовать ресурсы пакета:

```
php artisan vendor:publish --provider="MaksimYurash\EcommerceSuite\EcommerceSuiteServiceProvider" --force
```

5. Подключить демо-сидер в `database/seeders/DatabaseSeeder.php`:

```
