Интернет-магазин инженерной сантехники и электрики «Дилавтек»

Интернет-магазин инженерной сантехники и электрики «Дилавтек»

О проекте

«Дилавтек» продаёт инженерную сантехнику, электрику и инструмент в Москве и Московской области. Мы сделали интернет-магазин целиком: витрину, API, админку для менеджеров и перенос данных со старой платформы. Магазин стартовал на Strapi, а когда каталог и требования выросли, мы перевели его на собственный бэкенд. Адреса страниц и вёрстка при этом не изменились.
Каталог интернет-магазина «Дилавтек»

Витрина

  • Каталог из 20+ разделов: дерево категорий и фильтры по характеристикам с числом товаров у каждого значения
  • Понятные адреса фильтров (?f=gruppa.znachenie). Старые ссылки перенаправляются кодом 301, позиции в поиске сохраняются
  • Карточка товара с галереей, характеристиками, «Купить в 1 клик», избранным и сравнением
  • Корзина перед оформлением сверяет цены и остатки с сервером. Сумму заказа считает сервер, а не браузер
  • Оплата картой через ЮKassa. Неоплаченный заказ можно оплатить позже из личного кабинета
  • Регистрация по телефону с SMS-кодом или по email с подтверждением письмом
  • Быстрая заявка для гостей с защитой от ботов
  • Статьи под локальные запросы («сантехника в Одинцово», «купить кран в Красногорске») для SEO-трафика
Категория с фильтрами
Карточка товара

Админка для менеджеров

Вместо универсальной CMS мы сделали админку, заточенную под работу магазина. В ней 9 разделов: заказы, заявки, каталог, характеристики, цены и остатки, покупатели, страницы сайта и настройки.
  • Главная показывает новые заказы и заявки, а также товары, которым нужно внимание: нет в наличии, нет фото, нет характеристик, скрыты с сайта
  • Дерево категорий с перетаскиванием. Фильтры наследуются подкатегориями
  • Все поля товара на одном экране, есть дублирование товара
  • Массовое изменение цен на процент по категории с историей и откатом
  • Карточка заказа со сменой статуса, комментарием менеджера и журналом писем покупателю
  • Защита входа: блокировка после 5 неверных попыток, настройки магазина доступны только владельцу
Главная админки «Дилавтек»
Каталог в админке
Цены и остатки, массовое изменение цен

Интеграции

  • API для 1С и других учётных систем с Bearer-ключами из админки: выгрузка товаров и заказов, обновление остатков
  • Письма покупателям и уведомления менеджерам о новых заказах
  • Перенос всех данных со Strapi со сверкой после переноса
  • Уменьшенные копии изображений 320/640/1280 px и sitemap для поисковиков

Технологический стек

  • Витрина: Next.js (App Router), React, TypeScript, Tailwind CSS
  • API: NestJS 11, Prisma, PostgreSQL 18
  • Админка: React 19, Vite, TanStack Router / Query / Table, shadcn/ui, dnd-kit, TipTap
  • Общие zod-схемы для API и админки, строгий TypeScript, unit- и интеграционные тесты
  • Docker, nginx, оплата через ЮKassa