Первый взгляд на MoonShine
Привет поклонники Laravel!
Меня зовут Данил Щуцкий, я автор проекта CutCode (мой одноименный канал по обучению Laravel). В этой статье я хотел рассказать вам о MoonShine - панели для администрирования для ваших проектов на Laravel.
Над MoonShine я работаю с участниками комьюнити CutCode. Это open-source проект, основная задача которого - сделать админ-панель максимально простую (для начинающих разработчиков) и в тоже время функциональную и кастомизируемую (для опытных).
На мой взгляд, для новичков очень непросто освоить другие, уже набравшие популярность панели администрирования, и дать им инструмент с невысоким порогом вхождения по знаниям. В то же время для бывалых разработчиков архитектура MoonShine позволяет создавать очень функциональные вещи.
В качестве стека был выбран TAL (Tailwindcss, Alpine.js, Laravel), на мой взгляд и функционально и перспективно.
На момент написания статьи актуальная версия MoonShine 1.62. Для работы MoonShine необходимо:
php >=8.0
laravel >= 9.0
Для комфортного применения MoonShine написана документация, а также снят подробный видеогайд.
Расскажу и покажу что из себя представляет MoonShine
После установки админ-панели Вас встретит страница авторизации:
Попадаем внутрь и пробежимся вкратце по функционалу.
Так выглядит раздел со стандартным CRUD:
Фильтры и декорации
Для различных случаев создано много возможностей для фильтрации данных.
Для любителей кастомизации - декорации, сервис Heroicons, UI компоненты, бейджи и куча других фишек.
На форму для удобства можно добавить вкладки и сгруппировать поля:
Сетка с колонками
Создание дашбордов
Для графического оформления главной страницы админ панели создано несколько инструментов.
Отобразить в виде прогресса достижения цели
Нарисовать график
Поиск по админ панели
Для организации глобального поиска в MoonShine можно воспользоваться пакетом Algolia search for MoonShine
Данный пакет использует поисковый движок Algolia, который учитывает контекст и тип запроса, возможные опечатки, синонимы и словоформы, ввод запроса на разных языках и многое другое.
И еще несколько особенностей MoonShine:
- для работы с правами доступа используется Laravel policy
- центр уведомлений в который можно настроить свои события
- для упрощения процесса аутентификации Laravel Socialite
- локализация
- кастомные поля - для тех случаев, когда стандартные поля не справляются
Дополнения
Для быстрого добавления функционала разработчиками создано уже 15 пакетов, дополняющих возможности MoonShine.
Попробуйте MoonShine - возможно именно эта админ-панель Вам понравится, делали для своих).
Документация - https://moonshine-laravel.com/
Документация - https://moonshine-laravel.com/docs
Чат в Telegram - https://t.me/laravel_chat/24568
Tips & Tricks - https://cutcode.dev/articles/moonshine-tips-tricks