Исходные данные Наш клиент – молодой стартап, который до этого никак не продвигался через интернет. Задача – создать интернет-магазин с простым интерфейсом и минимальным набором функций. Фактически – магазин в формате MLP (минимально продающий продукт) с последующей доработкой умной системы скидок и акционных предложений.
О нас компания узнала через сарафанное радио – мы уже не раз создавали магазины и маркетплейсы для других компаний. Согласование технического задания заняло всего пару дней – ведь функционал предполагался довольно скромный.
После адаптации ТЗ и создания дизайн-проекта нам предстояло определиться с архитектурой будущего сайта. Монолитную было сделать быстрее и проще, как и хотел заказчик. Но проблема монолита заключается в том, что он плохо подходит для масштабирования.
Интернет-магазины же имеют тенденцию расти взрывными темпами. Одна удачная акция или востребованный товар – и количество посетителей увеличится в десятки раз. Монолит плохо справляется с такой нагрузкой, его неудобно дорабатывать и развивать.
Поэтому мы остановились на создании распределенной архитектуры на основе микросервисов, с заделом на быстрое расширение и увеличение мощности в случае возникновение необходимости.
На старте команда проекта составила пять человек. На создание MVP у них ушло чуть более месяца. После этого состоялся новый раунд переговоров с заказчиком, который изменил все.
Задача клиента серьезно дополнилась– теперь вместо локального интернет-магазина нужен был полноценный маркетплейс. С множеством брендов и поставщиков – в основном европейских и турецких брендов.
Чтобы наглядно показать серьезность изменений в ТЗ, вот небольшая сравнительная схема.
Вторым важным условием стала локализация маркетплейса под четыре страны С перспективой добавить и другие государства из СНГ.
Локализация – это не только дублирование страниц на разных языках. Это система конвертации валют и возможность привязки локальных банков, разные системы скидок и логистики.
В результате – задача увеличилась не только с точки зрения объема, но и сложности.
В результате – задача увеличилась не только с точки зрения объема, но и сложности. Если бы мы остановились на монолитной архитектуре – это значило бы, что разработку можно начинать практически с нуля. Но, поскольку мы выбрали микросервисы, ситуация оказалась гораздо проще.
Что мы сделали, чтобы реализовать проект: переформулировали и адаптировали ТЗ под новые задачи. Заново продумали серверную логику и увеличили команду проекта до пятнадцати специалистов.
Поскольку MVP интернет-магазина уже было готово, мы дополнили и расширили его до прототипа полноценного маркетплейса, который запустили спустя полгода работы над проектом. Затем приступили к проработке локализации маркетплейса на остальные страны.
В правильности выбора относительно микросервисной архитектуры проекта мы еще раз убедились в марте 2022 года, когда геополитический кризис распространился и на интернет-пространство.
На фоне противоречивых новостей встал вопрос: насколько защищенным должен быть маркетплейс, чтобы функционировать в современных реалиях?
Анализируя эту ситуацию мы пришли к выводу – от проводимой профессионалом атаки с гарантией защитит только наличие в штате специалиста по информационной безопасности. А простые атаки хакеров-активистов сайт с микросервисной архитектурой выдержит сам.
Как показывает сегодняшний день, наше решение было правильным: деятельность хактивистов сошла на нет, а профессиональные взломщики сосредоточены на коммерчески выгодных для них проектах, в основном из финансового сектора.
Кабинеты пользователей и поставщиков исправно функционируют, стартап запустил маркетинговую кампанию в одной из стран. Но сайт готов к тому, что нагрузки и пользователей будет гораздо больше.
Этапы разработки:
Адаптация ТЗ клиента.
Создание дизайна и шаблонов.
Проектирование архитектуры.
Разработка серверной логики.
Создание панели администратора и личных кабинетов.
Разработка мобильного приложения.
На данный момент мы завершили локализацию, маркетплейс работает на четырех языках, есть фильтры поиска и другие основные фичи. Готовится к запуску система накопительных скидок и бонусов.
Стек технологий:
Laravel (php 7.4);
MySQL;
Vue (админка);
Nuxt (Front);
Swift (iOS);
Kotlin (Android).
Это не финал, а небольшое подведение итогов – потому что хорошему розничному маркетплейсу, который ориентирован на массового потребителя, мало одного сайта.
Сейчас мы близки к запуску MVP приложения для CityBrand. Помимо основного функционала, который уже представлен на сайте, мы готовим ряд новых фич, которые можно реализовать только с помощью мобильной разработки.
Но о приложении – в одной из следующих статей.
Если вы планируете запустить проект, которому нужна высоконагруженная система, способная справляться с большим потоком посетителей – напишите мне, и команда Plenexy проведет для вас бесплатный анализ с подбором инструментов для будущего сайта.