Интернет-магазин инженерной сантехники и электрики «Дилавтек»
О проекте
«Дилавтек» продаёт инженерную сантехнику, электрику и инструмент в Москве и Московской области. Мы сделали интернет-магазин целиком: витрину, 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







