PHPackages                             ekaterina-umetskaya/flower-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. ekaterina-umetskaya/flower-suite

ActiveLibrary[Framework](/categories/framework)

ekaterina-umetskaya/flower-suite
================================

Laravel package for a flower shop: models, migrations, CRUD controllers, API, facades, middleware and tests.

00PHP

Since May 25Pushed 2mo agoCompare

[ Source](https://github.com/EkaterinaUmetskaya/Laba_3_3)[ Packagist](https://packagist.org/packages/ekaterina-umetskaya/flower-suite)[ RSS](/packages/ekaterina-umetskaya-flower-suite/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)DependenciesVersions (1)Used By (0)

Laravel Flower Suite
====================

[](#laravel-flower-suite)

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

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

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

- `src/Models` - модели магазина: товар, категория, поставщик, клиент, склад, заказ, позиция заказа.
- `database/migrations` - миграции таблиц магазина.
- `database/factories` - фабрики моделей.
- `database/seeders/FlowerSuiteSeeder.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/flower-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.flower-suite path ../02_package/flower-suite
composer config minimum-stability dev
composer config prefer-stable true
composer require ekaterina-umetskaya/flower-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="EkaterinaUmetskaya\FlowerSuite\FlowerSuiteServiceProvider" --force
```

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

```
