Интернет-магазин одежды: 500+ товаров, живые остатки и заказы без ручной сверки
Магазин, где витрина всегда совпадает со складом: товар без цены или без остатка на сайт просто не попадает, корзина держит резерв, а перед подтверждением заказа остаток проверяется ещё раз. Плюс два языка и автоответы на сообщения в Instagram.
- Клиент
- TECTOP — одежда и обувь, Бишкек
- Период
- 2026
- Сайт
- tectop.kg



Главная боль розничного магазина в интернете — расхождение сайта и склада. Клиент оформляет заказ, а товара уже нет: продали в офлайне полчаса назад. Дальше — извинения, возвраты и потерянное доверие. Поэтому магазин строился вокруг одного правила: витрина не должна врать.
Что мешало продавать
Витрина расходится со складом
Продажи идут и в магазине, и онлайн — без синхронизации сайт торгует тем, чего уже нет.
Ручное наполнение
Заводить сотни позиций руками — это дни работы и ошибки в ценах и размерах.
Два языка
Городу нужны и русский, и кыргызский — а поддерживать два ручных каталога невозможно.
Заявки из Instagram
Большая часть вопросов приходит в директ, и там теряется по вечерам и выходным.
Размеры и варианты
Одна модель — это десяток позиций по размерам и цветам; в плоском каталоге это превращается в кашу.
Витрина расходится со складом? Покажем, как связать сайт с товароучётом.
Разобрать задачу →Что собрали
Полноценный интернет-магазин: витрина, каталог, карточки товаров, корзина и оформление заказа, плюс отдельная служба, которая держит данные в актуальном виде.
Витрина на Next.js
Быстрые страницы каталога и товаров, готовые к поиску: у каждой позиции свой адрес и описание.
Серверная часть на Nest.js
Каталог, заказы, резервы и интеграции — отдельный сервис, а не «магия внутри шаблона».
База данных и кэш
PostgreSQL для данных и Redis для скорости — каталог открывается быстро даже при сотнях позиций.
Синхронизация с товароучётом
Цены и остатки приходят из системы учёта: сначала по уведомлению об изменении, а как страховка — регулярная догрузка изменившихся товаров.
Два языка
Русский и кыргызский на всех страницах каталога и товаров.
Instagram-бот
Сообщения из директа принимаются через официальный механизм и обрабатываются автоматически.
Docker-развёртывание
Витрина, сервер и фоновая служба запускаются как единый набор — обновление предсказуемо.
Путь заказа
- 1
Товар появляется в системе учёта магазина — с ценой, размером и остатком.
- 2
Данные приезжают на сайт: без цены или с нулевым остатком позиция на витрину не попадает.
- 3
Покупатель открывает карточку: фото, размер, цена, наличие.
- 4
Кладёт в корзину — товар резервируется на 30 минут, чтобы его не купили дважды.
- 5
Перед подтверждением заказа остаток проверяется ещё раз — на случай продажи в офлайне.
- 6
Заказ уходит в обработку, а параллельно директ Instagram отвечает на типовые вопросы автоматически.
Правило простое: на витрине только то, что реально есть и у чего есть цена. Всё остальное — не показываем.
Как устроен магазин
Витрина и каталог с категориями: обувь, футболки, брюки, верхняя одежда, аксессуары.
Карточка товара с собственным адресом — такие страницы участвуют в поиске и ими удобно делиться.
Языковые версии: одна и та же структура на русском и кыргызском.
Фоновая служба: синхронизация с учётом, обработка сообщений из Instagram, отложенные задачи.
Хотите такой же магазин с живыми остатками и двумя языками?
Получить оценку →Что защищает от накладок
Двойная проверка остатка
Резерв в корзине плюс повторная проверка перед подтверждением — товар не продаётся дважды.
Страховка синхронизации
Если уведомление об изменении не дошло, изменившиеся товары всё равно догружаются регулярной синхронизацией.
Проверки состояния
У сайта и сервера есть служебные адреса проверки — сбой видно сразу, а не по звонку клиента.
Секреты вне кода
Ключи интеграций хранятся в настройках окружения и не попадают в репозиторий.
Было → Стало
| Было | Стало | |
|---|---|---|
| Витрина и склад | Расходятся, продаётся отсутствующее | Только товары с ценой и остатком |
| Наполнение | Руками, долго и с ошибками | Данные приходят из товароучёта |
| Корзина | Кто успел, того и товар | Резерв 30 минут + проверка перед заказом |
| Языки | Один язык | Русский и кыргызский |
| Ответы вручную и с задержкой | Автоматическая обработка сообщений | |
| Обновления | Правки на живом сайте | Предсказуемое развёртывание набором сервисов |
Чем отличается от магазина на шаблоне
- ✓Магазин связан с реальным товароучётом, а не живёт отдельной жизнью.
- ✓Логика остатков и резервов написана под розницу, где продают одновременно офлайн и онлайн.
- ✓Каталог заранее сделан «поисковым»: у каждой позиции свой адрес и описание.
- ✓Instagram подключён официально — как канал приёма сообщений, а не через серые обходы.
- ✓Собственный сервер и база: магазин можно расширять, а не упираться в лимиты конструктора.
Частые вопросы
Сколько стоит такой интернет-магазин?
Считается по составу: объём каталога, интеграции с учётом и оплатой, языки, доставка. Опишите, как устроена ваша торговля — посчитаем предметно.
Можно связать с моей системой учёта?
Обычно да. Если у системы есть выгрузка или интерфейс обмена, мы забираем цены и остатки автоматически; если нет — предложим рабочий обходной вариант.
Сколько занимает разработка?
Зависит от каталога и интеграций. Витрина с каталогом и заказом собирается быстрее всего, интеграции и автоматизация добавляются следующими этапами.
Что с оплатой и доставкой?
Подключаются под рынок и правила магазина — от оплаты при получении до онлайн-платежей.
Магазин можно вести самому?
Да, товары и цены живут в системе учёта, к которой привык магазин, — сайт подтягивает их сам.
А продвижение в поиске?
Каталог сразу сделан под поиск: адреса, заголовки, описания и карта сайта. Дальше подключается SEO — у нас это отдельная услуга.
Нужен интернет-магазин, который не врёт про остатки?
Разберём вашу торговлю: где учёт, сколько позиций, какие каналы продаж — и покажем, как это собрать в один работающий магазин.