PHPackages                             bogdanmosiets2006/shop-package-3laba - 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. bogdanmosiets2006/shop-package-3laba

ActiveLibrary[Framework](/categories/framework)

bogdanmosiets2006/shop-package-3laba
====================================

Abstract internet shop Laravel package

v1.0.0(1mo ago)02MITPHPPHP ^8.1

Since May 31Pushed 1mo agoCompare

[ Source](https://github.com/BogdanMosiets2006/shop-package-3laba)[ Packagist](https://packagist.org/packages/bogdanmosiets2006/shop-package-3laba)[ RSS](/packages/bogdanmosiets2006-shop-package-3laba/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (12)Versions (4)Used By (0)

Shop Package
============

[](#shop-package)

Laravel-пакет для абстрактного интернет-магазина.

Установка
---------

[](#установка)

```
composer require vendor/shop-package
```

Публикация ресурсов
-------------------

[](#публикация-ресурсов)

```
# Конфигурация
php artisan vendor:publish --tag=shop-config

# Миграции
php artisan vendor:publish --tag=shop-migrations
php artisan migrate

# Шаблоны страниц
php artisan vendor:publish --tag=shop-views

# Тесты
php artisan vendor:publish --tag=shop-tests
```

Заполнение базы тестовыми данными
---------------------------------

[](#заполнение-базы-тестовыми-данными)

```
// database/seeders/DatabaseSeeder.php
use Vendor\ShopPackage\Database\Seeders\ShopSeeder;

public function run(): void
{
    $this->call(ShopSeeder::class);
}
```

```
php artisan db:seed
```

Настройка конфигурации
----------------------

[](#настройка-конфигурации)

После публикации в `config/shop.php`:

```
// Префикс web-маршрутов (по умолчанию: 'shop')
'route_prefix' => 'shop',

// Префикс API-маршрутов (по умолчанию: 'api/shop')
'api_prefix' => 'api/shop',

// Требуемая версия API для middleware
'api_version' => 1,

// Драйвер расчёта доставки: 'haversine' | 'nominatim' | 'openrouteservice'
'delivery' => [
    'driver' => 'haversine',
],
```

Использование фасадов
---------------------

[](#использование-фасадов)

```
use Vendor\ShopPackage\Facades\CurrencyRate;
use Vendor\ShopPackage\Facades\DeliveryCalculator;

// Получить курс EUR к базовой валюте (USD)
$rate = CurrencyRate::getRate('EUR');

// Конвертировать 100 USD в EUR
$amount = CurrencyRate::convert(100, 'USD', 'EUR');

// Рассчитать доставку (Haversine — координаты "lat,lon")
$delivery = DeliveryCalculator::calculate('55.7558,37.6173', '59.9343,30.3351');
// ['distance_km' => 634.5, 'cost' => 317.25, 'driver' => 'haversine']

// Принудительно через Nominatim (адреса в произвольном виде)
$delivery = DeliveryCalculator::calculateByNominatim('Москва', 'Санкт-Петербург');

// Принудительно через OpenRouteService
$delivery = DeliveryCalculator::calculateByOpenRouteService('Москва', 'Казань');
```

Middleware X-API-VERSION
------------------------

[](#middleware-x-api-version)

Пакет регистрирует middleware `Vendor\ShopPackage\Http\Middleware\CheckApiVersion`.

Подключение в маршрутах приложения:

```
// Для всего маршрута — версия из конфига
Route::get('/data', SomeController::class)->middleware(CheckApiVersion::class);

// Версия задана явно для конкретного маршрута
Route::get('/v2/data', SomeController::class)->middleware('check.api.version:2');
```

Регистрация алиаса в `app/Http/Kernel.php`:

```
protected $routeMiddleware = [
    'check.api.version' => \Vendor\ShopPackage\Http\Middleware\CheckApiVersion::class,
];
```

API
---

[](#api)

Все API-маршруты доступны по префиксу `api/shop` и требуют заголовок `X-API-VERSION: 1`.

МетодМаршрутОписаниеGET/api/shop/productsСписок товаровPOST/api/shop/productsСоздать товарGET/api/shop/products/{id}Получить товарPUT/api/shop/products/{id}Обновить товарDELETE/api/shop/products/{id}Удалить товарАналогично для: `categories`, `suppliers`, `clients`, `warehouses`, `orders`.

Запуск тестов
-------------

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

```
composer test
# или
./vendor/bin/phpunit
```

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance89

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity44

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

Every ~0 days

Total

3

Last Release

54d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/254940585?v=4)[BogdanMosiets2006](/maintainers/BogdanMosiets2006)[@BogdanMosiets2006](https://github.com/BogdanMosiets2006)

---

Top Contributors

[![BogdanMosiets2006](https://avatars.githubusercontent.com/u/254940585?v=4)](https://github.com/BogdanMosiets2006 "BogdanMosiets2006 (5 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bogdanmosiets2006-shop-package-3laba/health.svg)

```
[![Health](https://phpackages.com/badges/bogdanmosiets2006-shop-package-3laba/health.svg)](https://phpackages.com/packages/bogdanmosiets2006-shop-package-3laba)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1235.9k21](/packages/fleetbase-core-api)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M133](/packages/roots-acorn)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5022.6k](/packages/simplestats-io-laravel-client)[api-platform/laravel

API Platform support for Laravel

58174.6k17](/packages/api-platform-laravel)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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