Amigoweb
Разработка нового сайта и системы управления заказами для интернет - магазина "Империя Техно"
Amigoweb
WDA
2023
#Проектирование сайта#Программирование сайта#Тестирование сайта

Разработка нового сайта и системы управления заказами для интернет - магазина "Империя Техно"

3661 
Amigoweb
Amigoweb Россия, Магнитогорск
Поделиться:
Разработка нового сайта и системы управления заказами для интернет - магазина "Империя Техно"
Клиент

Империя Техно

Бюджет

12 000 000

Сфера

Электронная коммерция

Регион

Россия, Санкт-Петербург

Сдано

Сентябрь 2021

Задача

Клиент: Интернет-магазин бытовой техники, нацеленный на Москву, Санкт-Петербург и несколько крупных городов страны (Нижний Новгород, Великий Новгород, Казань Владимир)

Задача: Клиент работает на устаревшем технически и морально сайте со сложной логикой. Необходимо написать с нуля новый интернет-магазин на современной архитектуре так, чтобы он оставался актуальным и поддерживаемым минимум на ближайшие 5 лет. Увеличивается скорость работы, предельная нагрузка. Все бизнес-процессы переносятся на новый сайт практически без изменений. Сайт создается на основе готового дизайна, предоставленного другой компанией.

Решение

Учитывая современные тенденции в разработке ПО, решено сделать решение на фреймоворке Laravel. Архитектура такова, что фронтенд и бэкэнд разделены. Фронтенд реализован на фреймворке Vue.js. На бэкэнде присутствует полноценный АПИ по стандарту REST.

В рамках проекта были поставлены и решены следующие задачи:

- Сбор бизнес-требований и пакета Технических заданий (поскольку представить единое ТЗ не представлялось возможным из-за размеров)

- Этап верстки на Vue.js - созданы компоненты для дальнейшего использования, сверстаны все страницы согласно дизайну для десктопной, планшетной, мобильной версии

- Этап создания АПИ магазина и административной панели - реализовали с нуля АПИ в соответствии с предоставленным ТЗ, многократно модифицировали

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

- Наращивание функционала на основе предоставленных ТЗ - итеративная разработка по SCRUM подходу

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

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

- Проведен релиз

- Проект выведен на поддержку, так как клиент доволен качеством оказанных услуг

1Сбор бизнес-требований и пакета технических заданий

В начале разработки мы обладали двумя техническими заданиями - одно из них - описание дизайна, второе - составленное прошлым претендентом под систему Битрикс 24. Поскольку последняя никак не удовлетворяла запросам клиента, то и ТЗ было выполнено общими штрихами и не содержало никаких конкретных требований, кроме верхнеуровневых.

Нашей задачей стояло выяснить у клиента всю специфику разделов к переносу со старого сайта с учетом новых требований. К концу разработки пакет ТЗ к частям функционала и пояснения к ним составили 45 документов разного объема.

2Этап верстки магазина

На стеке Vue.js + Nuxt.js была создана адаптивная верстка страниц магазина. Каждая страница была сверстана для четырех разрешений - десктоп, ноутбук, планшет и мобильный телефон. После утверждения созданной верстки мы перешли на этап создания АПИ и административной панели. После этого верстку нужно было лишь интегрировать с АПИ и устранять мелкие замечания.

3Этап выбора шаблона для административной панели и подготовки компонентов

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

4Этап создания АПИ магазина и административной панели

Реализация АПИ административной панели и АПИ магазина началась во время приемки верстки, поэтому эти этапы не изолированы друг от друга, а накладываются один на другой. По мере получения ТЗ требования уточнялись и архитектор системы прописывал документацию к АПИ. На ее основе бэкэнд-разработчики начали создавать методы, перерабатывать БД старого сайта под новые реалии (в старой БД не было даже 3 степени нормализации).

5Наращивание функционала на основе предоставленных ТЗ

Самый продолжительный этап работы. Когда скелет системы был создан, началась итеративная разработка с созданием необходимого функционала. Со стороны бэкэнда нам приходили методы с тестовыми записями в БД, а фронтенд интегрировал это в магазин и админку. За время проекта было проведено около 50 демонстраций функицонала.

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

Вторым интересным моментом являлся перенос системы ценообразования. Это довольно запутанный алгоритм, который был многократно переписан и обладал сложными формулами и работой со множеством таблиц БД. По окончании работы с ним мы добились 100% соответствия цен на старом и новом сайте при 65 000 товаров.

6Циклы рефакторинга и оптимизаций

Через каждые пару месяцев растущая в сложности система вызывала необходимость рефакторинга. Мы сознательно проговаривали с клиентом его необходимость и стабилизировали систему, что позволило добиться состояния, когда через 1,5 года работы новичок в команде увидит легкочитаемый код без легаси.

По мере создания частей работы системы заказчиком выдвигались требования по скорости работы. В основном, проблемы состояли в оптимизации SQL запросов и решались медленно, но верно.

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

7Релиз проекта

Релиз проекта был проведен 8 октября 2021 года, когда стало понятно, что постоянная синхронизация двух сайтов (старого и нового) отнимает много времени и сил. К тому времени мы подбили все долги и смогли показать стабильность и надежность работы системы. Релиз был проведен успешно, откатывать систему не было необходимости.

8Переход на поддержку

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

Результат

- Проект успешно вышел на продакшен

- Уже через 3 дня трафик вернулся к дорелизным значениям, т.к. релиз прошел максимально быстро и без потерь для бизнеса

- По отзывам клиента, стали значительно лучше продаваться товары, которые на старом сайте климент игнорировал

- Скорость загрузки страниц соответствует большинству аналогов на рынке (2 - 3 секунды для большинства страниц магазина)

- На 45% вырос абсолютный показатель просмотров страниц

- На 41% выросло число страниц, просмотренных за сеанс

- Новая архитектура позволяет легко поддерживать проект, выдерживать нагрузку в 5 раз выше, масштабировать бизнес в регионах

Комментарий агентства

Петр Иванов
Петр Иванов

Проектный менеджер

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

Отзыв клиента

Кукуев А.А.
Кукуев А.А.

Генеральный директор

Команда Amigoweb разрабатывала нам новый сайт и выводила его в релиз. Для всех это было непростое испытание, но ребята справились. Все работали без выходных две недели как минимум. Потому что, во-первых, без этого не могли выйти в релиз, в короткий срок нужно было сделать большой объем задач. Во-вторых, после релиза нужно было править те проблемы, которые появлялись на продакшене. Все критические баги правились очень быстро. Команда была на связи, все в команде ответственные, надежные, нацеленные на результат. Релиз прошел успешно.

скан отзыва
https://www.imperiatechno.ru/

Стек технологий


Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Amigoweb с удовольствием обсудит вашу задачу

Оставить заявку