Привет поклонники Laravel!
Меня зовут Данил Щуцкий, я автор проекта CutCode (мой одноименный канал по обучению Laravel). В моём комьюнити разрабатывается open-source панель для администрирования сайтов на Laravel - MoonShine. Задача - сделать админ-панель максимально простую (для начинающих разработчиков) и в тоже время функциональную и кастомизируемую (для опытных разработчиков). Уже много работы проделано, есть стабильная версия, написана документация, сняты видеоуроки по настройке MoonShine. Всё готово к использованию в Ваших проектах на Laravel.
Эта статья - кейс по использованию админ-панели MoonShine на реальном проекте. О своём опыте рассказывает Игорь Петров, веб-разработчик и специалист по автоматизации бизнес-процессов (https://ipetrov.pro/ ).
Задача
Заказчику был необходим Telegram-бот для контроля спама в каналах и группах. Основным требованием в реализации была веб-админка, с помощью которой было бы удобно подключать новые каналы и изменять правила работы бота для фильтрации спама. Каких-либо ограничений или пожеланий по стеку технологий не было. Важным моментом было то, что админка должна смотреться современно, так как это продукт, который заказчик продает по подписке доступа.
Муки выбора и путь, по которому я пошел
Ранее для Telegram-ботов я всегда писал самодельные админки. Что примечательно, я использовал тот же шаблон что использует Moonshine сейчас. Но, как показала практика, даже имея свои заготовки кода, использование MoonShine дает профит в скорости реализации.
В целом к админ-панелям я присматривались и раньше, но до обновления дизайна, Moonshine не особо нравился заказчикам, а сейчас смотрится гораздо красивее и современнее. Важным преимуществом является и то, что MoonShine бесплатный, а, как вы знаете, заказчики далеко не всегда готовы рассматривать платные решения, хотя я и Laravel Nova многим предлагаю. Осложняет ситуацию и то, что оплачивать сейчас их проблематично.
Еще одним весомым аргументом стало то, что я проходил курс Данила Шуцкого, видел активность в Telegram-чатах и понимал, что продукт живет и активно развивается. Кстати, впоследствии это я проверил на практике: issue, которые я закидывал на github очень оперативно рассматривались и многие внедрялись.
В итоге мой финальный выбор админ-панели для этого Telegram-бота пал на MoonShine. А в последствии и для всех новых тоже.
Трудности в работе
Учитывая, что это был первый проект на котором я внедрял MoonShine создать базовый crud проекта оказалось не так сложно, как я представлял. Конечно, для этого потребовалось внимательно изучить документацию. Тут стоит отметить что она неплохо описана, но раскрывает не все моменты. В целом это понятно, ведь проект только развивается, но явный плюс в том, что всегда можно написать свой вопрос в чат и в рамках 1-2 часов получить ответ, который, как правило, решает любую проблему. Разработка проекта на MoonShine в самом начале у меня заняла 5-6 часов. Отмечу, что сейчас, уже зная, что и как, такой же объем задач я реализую за 2 часа. По сути единственная трудность с которой я столкнулся — лишь нехватка информации в документации.
Что получилось
Для понимания какие функции были реализованы в админ-панели проекта заказчику было записано обучающее видео:
Итоги
Подводя итог всего рассказа — я доволен как слон, что начал использовать MoonShine. На данный момент я активно использую его порядка 3 месяцев. Делать админки для Telegram-ботов стало проще и в разы быстрее. Также сейчас веду разработку интернет-магазина, где MoonShine также используется в качестве админ-панели.
Попробуйте MoonShine в своих проектах
Вот такой получился кейс. Попробуйте MoonShine - возможно именно эта админ-панель Вам понравится, делали для своих)
Lata