Skip to content

IBEC-BOX/admin-kit-core

Repository files navigation

Admin-Kit Core Package

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Пакет имеет готовые модули для быстрого старта проекта. Использует админ панель Filament, и содержит готовые API эндпоинты, что и служит улучшением и ускорением разработки админ панелей.

Admin Kit Packages

На текущий момент созданы следующие пакеты для Admin Kit:

Название Ссылка Тип пакета Описание ADMIN API
Ядро Core Базовый Пакет содержит идеологию, настройки по умолчанию, кастомные поля и модуль Users Готово ✅
Пользователи Users - Находится в составе пакета Core, незаменимый модуль Core пакета Готово ✅
Роли Roles Внешний Используется пакет Filament Shield, настройки по умолчанию интегрированы с в пакет Core Готово ✅
Меню Navigation Полноценный (Форк) Пакет для создания элементов меню. Сделан форк внешнего пакета Filament Navigation, который кастомизирован под идеологию Admin Kit. Доступна мультиязычность. Готово ✅ 0% ⭕
Новости Articles Полноценный Пакет для создания новостей. Доступна мультиязычность. Готово ✅ Готово ✅
Страницы Pages Полноценный В разработке. Пакет для создания WYSIWYG страниц. Доступна мультиязычность. 50% 🔶 0% ⭕
Документы Documents Полноценный В разработке. Пакет для загрузки документов(файлов). Доступна мультиязычность. 50% 🔶 0% ⭕
Локализация Localizations Полноценный В разработке. Пакет для создания переводов для фронт разработчиков. Доступна мультиязычность. 90% 🔶
Контакты Contacts Полноценный На стадии идеи. Пакет для создания Контактов. Доступна мультиязычность. 50% ⭕ 0% ⭕
Баннеры Banners Полноценный На стадии идеи. Пакет для создания Баннеров. Доступна мультиязычность. 10% ⭕ 0% ⭕
Частые вопросы FAQs Полноценный На стадии идеи. Пакет для создания Частых Вопросов. Доступна мультиязычность. 10% ⭕ 0% ⭕
Опросы Polls Полноценный На стадии идеи. Пакет для создания Опросов. 10% ⭕ 0% ⭕
Вакансии Vacancies Полноценный На стадии идеи. Пакет для создания Вакансий. Дополнительно содержит города, должности, форму для заявок. 10% ⭕ 0% ⭕
Галерея Gallery Полноценный На стадии идеи. Пакет для создания Фото/Видео галереи. 0% ⭕ 0% ⭕
Хранилище файлов (Документы?) FileStorage Полноценный На стадии идеи. Пакет для загрузки и хранения разных файлов. 0% ⭕ 0% ⭕
Настройки SEO SEO Вспомогательный Вспомогательный пакет для добавления SEO настроек к необходимым пакетам (пример: Новости, Страницы). Доступна мультиязычность. Готово ✅
Архитектурный паттерн Porto Porto Вспомогательный Для реализации Архитектурного паттерна Porto(ru) при разработке проекта. В Core пакете используется для автозагрузки Middleware. 90% ✅

И использует следующие пакеты Spatie и Filament:

Название Composer пакет
Laravel laravel/framework
Package tools spatie/laravel-package-tools
Laravel Translatable spatie/laravel-translatable
Laravel Query Builder spatie/laravel-query-builder
Laravel API Paginate spatie/laravel-json-api-paginate
Laravel Data spatie/laravel-data
Laravel Sluggable cviebrock/eloquent-sluggable
Filament filament/filament
Filament Permissions bezhansalleh/filament-shield
Filament Impersonate stechstudio/filament-impersonate

Installation

Установку производить на проекте Laravel, с настроенной базой данных

Поменять значение minimum-stability на dev, в файле composer.json

"minimum-stability": "dev",

Установить пакет

composer require ibecsystems/admin-kit-core

Запустить команду настройки пакета

php artisan admin-kit:install

Создать пользователя

php artisan shield:super-admin

Usage

Переходите по ссылке /admin, введите логин и пароль, и вы попали в админ панель.

Layouts

TranslatableTabs

Шаблон выводит стандартный Filament Tabs вместе с пакетом spatie/laravel-translatable. Пример использования:

    // Filament/Resources/Resource.php
    public static function form(Form $form): Form
    {
        return $form->schema([
            // other fields ...
            TranslatableTabs::make(fn ($locale) => [
                Forms\Components\TextInput::make("title.$locale")
                    ->label('Title')
                    ->required($locale === app()->getLocale()),
            ]),
        ]);
    }

Middlewares

SetLocaleFromAcceptLanguageHeader

  • Подключается автоматически.
  • Устанавливает язык ответа приложения, используя заголовок Accept-Language из запроса.

ForceJsonApiResponse

  • Подключается автоматически.
  • Преобразует все ответы по роутам api/* в JSON, путем добавления заголовка Accept: application/json во входящем запросе.

CheckAdminIpMiddleware

  • Подключается автоматически.
  • При установке значения ADMIN_WHITE_LIST_ENABLE=true в .env файле, доступ в админ панель блокируется всем пользователям, за исключением IP адресов из белого листа, указанных в файле конфига config/admin-kit.php

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.