Полная переработка интернет-аптеки на устаревшем движке NetCat. Избавились от legacy-кода, внедрили Git, ускорили загрузку в 3 раза, добавили Telegram-авторизацию и систему бронирования.
Клиент пришёл с работающей интернет-аптекой на движке NetCat. Сайт функционировал, но архитектурные решения делали развитие практически невозможным.
| Показатель | Было | Стало |
|---|---|---|
| Загрузка каталога | 5-7 секунд | 1.5-2 секунды |
| Контроль версий | Нет | Git + Code Review |
| Уведомления аптекам | Email (задержка) | Telegram (мгновенно) |
| Личный кабинет | Нет | История + статусы |
| SEO-оптимизация | Базовая | JSON-LD, YML-фиды |
Вынесли CSS/JS из PHP-шаблонов в отдельные файлы. Настроили Git-репозиторий и CI/CD. Разделили монолит на независимые сервисы: CartService, CatalogService, AuthService.
Иерархия категорий с изображениями, умные фильтры, хлебные крошки. Оптимизация SQL-запросов и кэширование. Загрузка ускорилась в 3 раза.
Автоматический подбор аптеки по наличию, резервирование остатков в реальном времени. Telegram-уведомления аптекам и клиентам.
Telegram-авторизация через OTP (дешевле SMS). Личный кабинет с историей заказов, статусами в реальном времени, повторным заказом в один клик.
JSON-LD микроразметка, noindex для пагинации, YML-фиды для Яндекс.Товаров. Интеграция с АСНА, FarmExpert, СМС-Центр.
Нельзя было остановить сайт на время переезда — аптеки принимают заказы каждый день. Решение: запустили v2 параллельно, постепенно переключали разделы, сохраняя работоспособность старой версии.
Проприетарные классы были везде в коде. Решение: создали обёртки и адаптеры, постепенно выносили логику в независимые сервисы без привязки к движку.
Яндекс блокировал фиды за неактуальные остатки. Решение: мгновенное обновление YML при любом изменении наличия товара в базе.
Расскажите о вашем проекте — оценим объём работ