Коротко о проекте
- 01Что за инструмент
Laravel — фреймворк PHP
- 02Где используем
Сервис подбора автостраховок GetPolis
- 03Почему выбрали Laravel
Ускоряет написание кода и запуск новых функций
Не теряет в скорости работы из-за механики очередей
Удобно искать и исправлять ошибки в коде благодаря канальной системе логирования
Обеспечивает безопасность: хранит пароли, есть механизмы аутентификации
- 04Результаты
16 тыс. личных кабинетов агентов и клиентов в cервисе
>100 тыс. проданных полисов за год
GetPolis подбирает КАСКО, напоминает о покупке полиса и помогает создать агентскую сеть
GetPolis — сервис подбора полисов для автострахования: он сравнивает цены на ОСАГО и каско и предлагает покупателю лучший вариант. Cервис зарабатывает на комиссиях от страховых компаний, поэтому клиенты не платят за подбор предложений.
У сервиса два типа пользователей: конечные покупатели — автовладельцы, и агенты — посредники, которые используют сервис для работы со своими клиентами.
Что умеет сервис:
- Подбирать полисы по цене, с учетом скидок и акций страховщиков.
- Рассылать клиентам напоминания о том, что полис вот-вот перестанет действовать, и предлагать купить новый.
- Отправлять запросы в ГИБДД.
- Упрощать работу по созданию сети. Например, с помощью сервиса можно добавлять данные и итоги продаж агентов, рассчитывать для них комиссию с продаж.
OrbitSoft разработал сервис с нуля за 10 месяцев.

Клиент обратился за помощью, когда подрядчик сорвал дедлайн
Заказчик обратился к команде Оrbitsoft, когда стало понятно — предыдущий подрядчик не успевает в сроки разработать и запустить сервис. А это влияло на будущие продажи и потенциальную прибыль компании.
Мы провели аудит уже разработанной части cервиса и решили, что не будем создавать с нуля кодовую базу, а доработаем что есть. Это позволило нам уложиться в изначальные сроки клиента, при этом не сокращая функции сервиса.
Что дает использование Laravel
Одно из наших решений для запуска сервиса — какой фреймворк использовать. Мы остановились на Laravel, и теперь рассказываем, какие плюсы он дает для работы сервиса.
Можно быстро создавать новые сущности, например, личные кабинеты или страница заказов. Фреймворк сопоставляет программный код и URL и благодаря этому оптимизирует написание маршрутов.

Высокая скорость работы сервиса. Сервис умеет справляться одновременно с несколькими задачами. Например, он можно обновлять справочники автомобилей и рассылать уведомления, пока клиент оформляет страховку.
Сервис управляется с потоком задач благодаря механизму очередей: фреймворк разбивает задачи на несколько частей, изолирует их друг от друга и выполняет параллельно.
Данные обновляются в режиме реального времени. По умолчанию полис появляется в личном кабинете клиента сразу после оплаты. Поэтому автовладелец не теряет время: выбрали страховку, оплатил, cкачал полис, и готово. На все уходит пять минут или меньше.
Если что-то пошло не так со стороны продавца — страховщика, сервис использует функцию «планировщик задач». Он как бы опрашивает компании — у кого есть нужный полис. Как только выясняет, подгружает в личный кабинет, и задача решена. Такие поиски занимают полчаса или меньше.

Удобно находить и исправлять баги, потому что Laravel умеет разделять ошибки по типам.
Фреймворк использует систему логирования, основанную на каналах, то есть логи из разных частей системы записываются в разные каналы. Еще Laravel работает с несколькими типами вывода логов, например можно выводить логи в отдельные файлы на диске, передавать в Slack или другой сервис.


Данные хранятся в облаке. Это большой плюс для систем, которые обрабатывают большой объем данных. Когда место на сервере стало заканчиваться, мы перешли на облачное объектное хранилище с поддержкой Amazon S3.
Для облака использовали готовую библиотеку от Amazon — AWS SDK для PHP. Она создавалась не под Laravel, но ее легко встроить в код. Все, что нужно, — это в классе для работы с хранилищем инициализировать клиента, а потом использовать методы API.



Для рассылки можно использовать Mailchimp. Одна из способов зарабатывать на полисах — увеличивать число повторных покупок. Для этого мы научили сервис рассылать напоминания по электронной почте: «ваш полис скоро перестанет действовать, вот предлагаем для вас новый».
Мы решили использовать сервис рассылок Mailchimp. Он удобный, проверенный и с хорошей аналитикой. Например, сервис знает, сколько человек прочли письмо, кто перешел по ссылкам из него. Такая информация помогает поменять параметры рассылки так, чтобы подросла конверсия.
Для подключения рассылок использовали библиотеку spatie/laravel-newsletter. При ее установке в проекте создается файл с настройками рассылки config/newsletter.php. В нем находятся реквизиты подключения к сервису Mailchimp.



Данные защищены от воровства и копирования. В Laravel уже встроены решения для безопасности. Cреди них:
- Пароли клиентов кодируются так, что даже разработчик не получает их в открытом виде.
- Есть механизмы аутентификации: например, можно подключить готовую функцию по запоминанию пользователя.
- Утилита Eloquent ORM защищает от взломов через формы на сайте.
- Работает защита от межсайтовой подделки запросов. Она подключается парой строчек кода.
Результаты работы с Laravel: запустили сервис за 10 месяцев
OrbitSoft начал работать над проектом в 2019 и запустил его через 10 месяцев. Cервис работает, а мы продолжаем его поддерживать и развивать. Например, планируем запуск мобильного приложения.
Заказчик использует обе модели для заработка. С момента запуска сервиса, им свободно могли пользоваться агенты и клиенты, поэтому наш заказчик не терял деньги. Все, кто хотел бы покупать полисы через сервис, делал это без каких-либо технических ограничений.
Сервисом удобно пользоваться с любого устройства. Чтобы уложиться в сроки, мы не стали разрабатывать приложение. Зато добавили адаптивную верстку, поэтому все визуальные элементы аккуратно смотрятся на компьютере, планшете и телефоне.
Нет технических препятствий для новых партнеров. Сервис интегрируется с любыми платформами страховщиков, поэтому заказчик подключает компании без сложных доработок и затрат.
Сервис работает как маркетплейс для клиентов и рабочее место для агентов. Это удобно посредникам, потому что они могут продавать сами — в этом помогает личный кабинет агента. В нем можно отслеживать результаты продаж и начислять комиссию. Или помогать свои клиентам оформить полис самим, но тоже за комиссию.
10 тыс. личных кабинетов | 6 тыс. личных кабинетов | 1,6 полисов |
создали пользователи | создали страховые агенты | продается каждый день |
Технический блок
- PHP 7.3
- Laravel 5.7.29
- Vue.js 2.6
Языки программирования
- PHP
- JS
Библиотеки
PHP:
- Laravel SMS API
- AWS SDK для PHP
- League Flysystem
- Laravel Newsletter
JS:
- Vuetify
- JQuery
- Bootstrap
- Axios
- Bootstrap
- Lodash