Недавно наша команда завершила проект по созданию CRM-системы для управления отелем. Центральным элементом нашего решения стала админ-панель, построенная на базе MoonShine - админ-панели для Laravel. И результаты превзошли все ожидания.
В этом небольшом кейсе расскажу про свой опыт применения MoonShine.
Что нужно было сделать?
Вот что нужно было сделать по техническому заданию.
1. Управление бронированиями:
- Возможность добавления, редактирования и удаления бронирований.
- Просмотр доступности номеров в реальном времени.
2. Управление гостями:
-
Регистрация и управление информацией о гостях.
-
Отслеживание истории визитов и предпочтений гостей.
3. Управление номерами:
- Мониторинг состояния номеров (заняты, свободны, в процессе уборки).
- Управление удобствами и доступными услугами.
4. Управление персоналом:
- Регистрация и управление информацией о персонале.
- Планирование и отслеживание ежедневных задач.
5. Отчетность и анализ:
- Генерация отчетов по занятости отеля, доходам и производительности персонала.
- Анализ тенденций и поведения гостей.
Особенности реализации.
CRM-система взаимодействует с фронтенд-приложением клиента через REST API, обеспечивая бесперебойный обмен данными.
Почему MoonShine?
Опыта работы с другими админ-панелями для Laravel не было. Чтобы не писать админку с нуля, решили изучить готовые решения. Выбор пал на MoonShine благодаря активному сообществу разработчиков, исчерпывающей документации и непрерывному развитию. Особую роль в нашем решении сыграл YouTube-канал "CutCode" - с видео гайда по MoonShine всё и началось.
Как шла работа
Примечательно, что в ходе разработки мы не столкнулись с серьезными препятствиями, что говорит о продуманности и надежности выбранного стека технологий. Накопил вопросы (были кастомные задачи - менять лого в зависимости от юзера, создать свой компонент и правильно его использовать) и заказал консультацию у Данила, в течение пары часов быстро разобрался с реализацией.
Что не получилось сделать
Единственной нерешенной “сходу” задачей стала необходимость модуля "Календарь", отсутствующего в коробочной версии MoonShine. Однако, это лишь подстегнуло нашу креативность - мы приняли решение разработать собственный компонент, который идеально впишется в экосистему проекта. Реализовали и “интегрировали” в MoonShine компонент календарь, используя https://fullcalendar.io .
Вывод
Подводя итоги выполненной работы, хочу отметить впечатляющую скорость разработки. Благодаря Moonshine, скорость разработки CRM увеличилась в 4-5 раз (по сравнению с созданием админки с нуля). MoonShine продемонстрировала исключительное удобство как в процессе разработки, так и в конечном использовании.
Этот опыт еще раз подтверждает, что выбор правильных инструментов может кардинально повлиять на эффективность разработки.
Для следующих админок в проектах на Laravel буду использовать только MoonShine, и вам рекомендую!