История началась с амбициозной задачи: создать сервис дропшиппинга для крупного поставщика товаров для взрослых на рынках России, Беларуси и Казахстана. Масштаб проекта впечатлял: более 600 оптовых клиентов и задача помочь им выйти на крупнейшие маркетплейсы.
Почему именно MoonShine
После опыта работы с Nova, Filament и Orchid, выбор пал на более гибкое и современное решение - MoonShine, случайно замеченное на YouTube. Ключевые преимущества:
- Понятная, довольно подробная документация и видео гайды на русском
- Большие возможности для кастомизации и альтернативная минимальная тема, которая отлично подходит для работы с большими таблицами
- Активное сообщество в телеграм
Если сравнивать MoonShine и Filament
Преимущества MoonShine
- Комьюнити/гайды/документация русскоязычные
- Более простая архитектура с меньшим количеством абстракций
- Короткая кривая обучения
- Минимум кода для базовых задач
- Нет привязки к Livewire
Есть конечно и вещи которые вызывали опасения:
- Меньше активных контрибьюторов (соответственно более медленное исправление багов). Как оказалось, зря переживал. На деле баги исправляются очень быстро - буквально на следующий день
- Меньше готовых решений от сообщества
Реализация проекта
Проект усложнялся необходимостью поддержки четырех ролей: Пользователь, Комплектовщик, Менеджер и Админ. Благодаря гибкости MoonShine, удалось создать универсальную систему. Были использованы:
- Много полезных трейтов
- Абстрактный класс ресурса
- Класс общих полей
- Удобные макросы
Кастомизация минимальной темы дизайнером придала проекту свой уникальный стиль, превратив его в "трушный стартап".
Какие трудности были при работе с MoonShine
Не понравился поиск по документации (реализован на Algolia), плохо ищет по вхождению
Точки роста проекта
Реализовав админку на MoonShine, хотелось бы увидеть развитие админки в следующих направлениях:
1. Документация:
- Расширение базы примеров использования
- Дополнение описаний возможностей
2. Развитие:
-
Рост production-кейсов (сам вот оформил)
-
Постепенное расширение экосистемы готовых решений, н необходимые расширения уже есть
3. Архитектурные решения
Сильная связность некоторых компонентов. Буквально на днях выйдет мажорная версия MoonShine 3, где по обещанию авторов будет полностью переделана архитектура. Посмотрим!Важно отметить, что команда разработчиков MoonShine активно работает над улучшением продукта, оперативно реагирует на обратную связь (очень живой чат вместе с разработчиками - https://t.me/moonshine_ru) и быстро исправляет обнаруженные проблемы.
Подведение итогов
Проект вышел на славу. Можно посмотеть тут - https://vazon.pro!
Или оценить реализацию посмотрев обзорное видео:
https://rutube.ru/video/dd4785d84767fd09220a9ffa691b390d/
Или просто посмотреть на скриншоты интерфейса:
MoonShine стал именно тем инструментом, который позволил эффективно реализовать все требования заказчика, фокусируясь на бизнес-логике, а не на технических деталях реализации. MoonShine позволяет сократить время на написание админ-панели, при этом не создавая ограничений, можно сказать фреймворк для админок на Laravel. Теперь, имея опыт работы с MoonShine следующую админ-панель сделаю намного быстрее.
По моему мнению MoonShine отлично подойдет для:
- Небольших и средних проектов
- Проектов, где важна скорость разработки
- Русскоязычных команд разработчиков
Автор - @slava_triput