Кейс: Сервис для регистрации и поиска авто Missing Car Register GmbH

ЗаказчикКоммерческая организация, ориентированная на рынок Европы. Компания предоставляет услуги как по содействию поиску потерянных или украденных автоЗадачаРазработка основного функционала сайта по регистрации и поиску автомобилей

Missingсars Register GmbH — коммерческая организация, предоставляющая услуги по поиску украденных или потерянных авто. Основными преимуществами сайта являются:

  • Мультиязычность. Сайт ориентирован на немецкий, английских и русский языки;
  • Отзывчивый интерфейс;
  • Комплексный поиск авто;
  • Кастомная форма для регистрации авто;
  • Воркфлоу для управления информационным контентом и зарегистрированных авто;
  • Система оплаты продукта.

При помощи Laravel и панели Laravel Nova для редакторов, рядовых пользователей и администраторов реализован оптимальный требуемый функционал, позволяющий легко удовлетворить необходимые потребности.

5f27a4846f4be3dc8875a701620132f4.jpg

О Missingсars

Missingсars Register GmbH — коммерческая организация, ориентированная на рынок Европы. Компания предоставляет услуги как по содействию поиску потерянных или украденных авто. Отличительной особенность является комплексный поиск авто по различным критериям: цвет кузова/интерьера, серийный номер двигателя/коробки передач и другому, а также приобретение специального чипа для авто, позволяющего отслеживать его положение в случае кражи. Чип содержит всю необходимую информацию об авто, что позволяет однозначно идентифицировать украденный автомобиль

Наша задача

На момент обращения к нам, Missingсars имели конкретные пожелания к функционалу будущего сайта. Сайт должен был удовлетворять следующим основным требованиям:

  • Мультиязычность
  • Распределённая система разделения пользователей по ролям
  • Реализация Commerce-части и интеграция с платёжной системой PayPal Plus
  • Вокрфлоу для управления контентом
  • Форма для регистрации автомобиля
  • Поиск автомобилей в базе
  • Функционал по управлению автомобилями

Посетитель должен легко ориентироваться на сайте, получать доступ к поиску или регистрации авто, легко управлять созданной записью, открывать доступ к ранее зарегистрированным авто. Администратору должна предоставляться понятная система по управлению контентом, авто и покупками.

Решение

Missingсars является полноценным мультиязычным веб-сайтом для предоставления тематической информации по авто и доступа к поиску, регистрации и управлению зарегистрированными автомобилями. Для регистрации авто создана кастомная форма, использующая AJAX. Система управления контентом использует как наш собственный код, так и сторонние решения, позволяющие создать гибкий и удобный инструмент для решения поставленной задачи.

Поиск

На сайте имеются различные информационные страницы. Для обнаружения необходимой информации был добавлен поиск по соответствующему контенту. Он был реализован с помощью мощного поискового движка TNTSearch, с помощью которого пользователь может без лишних затрат по времени найти необходимую информацию и получить к ней доступ.

Страница поиска по контенту

14053ae05fdffed3f0c5a8ec769c30c0.jpg

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

Мультиязычность

Предоставлена возможность перевода любого контента на установленные языки: от информационных страниц до сообщений электронной почты. Пользователь может по своему усмотрению менять язык сайта: переключение между языками осуществляется с помощью всего лишь пары кликов. Изменив язык сайта, пользователь изменяет и язык адресованных ему писем. При этом администрация сайта всегда получает письма на удобном для себя языке.

Система разделения пользователей по ролям

Для реализации требуемой бизнес-логики была добавлена ролевая модель доступа пользователей к контенту. Реализация осуществлялась при помощи решения laravel-permission от Spatie, что позволяет в будущем легко и гибко корректировать доступ пользователей к контенту сайта. Ролевая иерархия позволяет:

  • чётко разделить права и доступ пользователей к содержимому сайта;
  • быть уверенным, что личная и конфиденциальная информация не будет доступна пользователю, не имеющему на это прав.

Реализация Commerce-части и интеграция с платёжной системой PayPal Plus

Commerce-часть построена на основе мощного и гибкого модуля для интеграции с платёжеными системами — Omnipay.

Для интеграции с платёжной системой PayPal Plus использовался модуль omnipay-paypal-plus, доработанный под нужды проекта.

Одним из требований заказчика была возможность использования скидочных купонов, позволяющих публиковать контент на сайте со скидкой. Скидочные купоны создаются администратором сайта с указанием тарифного плана и размера скидки. Реализация данного функционала является нашей собственной разработкой и не использует сторонние решения.

Форма для регистрации авто

Для регистрации авто была создана кастомная форма с использованием технологий AJAX и фреймворка Vue.js. Форма позволяет в несколько простых шагов заполнить всю необходимую информацию об авто, не важно был или он украден, или нет.

Каждый шаг формы логически разделён и на него отводится собственная роль. Так, например, на шаге загрузки фото авто используется удобный виджет, позволяющий менять порядок загружаемых фото, что влияет на итоговый вид зарегистрированного авто.

В процессе заполнения формы пользователь может свободно вернуться на предыдущий шаг и изменить информацию по своему желанию в рамках бизнес-логики продукта. На основании сделанных пользователем выборов в итоговом шаге будет предоставлен нужный для его потребностей тариф, а форма может изменяться на лету, в зависимости от уже заполненной пользователем информации, т.к. некоторые шаги регистрации могут быть не актуальны при определённых условиях.

Большой выбор различных параметров регистрируемого авто позволяет наиболее точно идентифицировать его в случае кражи, даже если злоумышленники подвергли авто каким-либо внешним изменениям, чтобы скрыть его.

6863e25efe2ccf2a3de924c3086a2dae.jpg

d1d2523154f93e3278a871daaf1a4ac2.jpg

283e5384dc352ac3a3497ec91fc8dd7e.jpg

a0626b0c3890c6990c7398032846ee15.jpg

4ceae679e791a683f8647eee4c7e3cb5.jpg

1c802b103bb4aba7dfa6102a01afbd55.jpg

Контейнеризация

Окружение проекта упаковано в Docker-контейнеры, что позволяет с лёгкостью разворачивать проект и необходимое для его работы окружение на любом сервере.

Вывод

Мы разработали мультиязычный сайт с гибким функционалом, доступный для широкой публики. Администраторы получили простой и удобный интерфейс для добавления и редактирования контента, а пользователи получили возможность легко искать и регистрировать свои авто. Также они могут быть уверены, что информация об их собственности находится в надёжных руках.

Посетите сайт для детального рассмотрения опций и интерфейса.

Перейти на сайт

Полный текст статьи читайте на CMS Magazine