We Smoke Fish
Шесть приложений, одна система: от заказа в телефоне до рыбы у двери.
- Клиент
- wesmokefish.md
- Город
- Кишинёв
- Год
- 2026
- Статус
- Работает

Задача
We Smoke Fish коптит рыбу под заказ в день доставки, склада готовой продукции нет. Старый сайт, ручной приём заказов, учёт в Syrve и отчёты в Telegram жили отдельно: оператор переносил данные руками, курьер звонил клиентам, а деньги у двери сверялись в конце дня.
Решение
Мы спроектировали и построили платформу из шести приложений с общим API-контрактом. Покупатель заказывает на сайте или в приложении и видит курьера на карте. Курьер собирает рейс сканированием коробок. Оператор, цех и бухгалтерия работают в одной панели: заказы, окна доставки, склад, техкарты, закупки, лояльность, экспорт в 1С.
Экраны проекта
Что мы сделали
Сайт-магазин
- Nuxt 4 SSR на трёх языках с локализованными адресами
- Каждая фасовка (300 г, 500 г, целая рыба) — отдельная страница с финальной ценой
- Выбор окна доставки с объяснением, почему доступно именно оно
- Подсказки адреса и проверка точки по полигонам зон доставки
- Статус заказа в реальном времени и личный кабинет с лояльностью
- SEO: JSON-LD, hreflang, sitemap, llms.txt, IndexNow; CSP и BFF-прокси
Приложение покупателя
- iOS и Android на Expo: каталог открывается сразу, вход — только при оформлении
- Вход по SMS-коду, серверная корзина, повтор и отмена заказа
- Живой курьер на карте на собственных тайлах OpenStreetMap
- Push-уведомления, лента событий и «окно тишины»
- Карта лояльности с QR, баллы и уровни
- Офлайн-кэш и обновления по воздуху
Приложение курьера
- Смена как цепочка рейсов, рейс собирается сканированием QR на коробках
- Маршрут и запуск внешнего навигатора в один тап
- Геопозиция в фоне, офлайн-карта и очередь команд без связи
- Вручение с подтверждением в радиусе точки встречи
- Фиксация способа оплаты у двери — сумму сверяет сервер
Панель CRM + ERP
- 26 модулей и 94 экрана: заказы, доставка, каталог, склад, закупки, бухгалтерия
- Живая карта курьеров и редактор зон доставки
- Техкарты с версиями и себестоимостью, акты производства и списания, закрытие месяца
- CRM: покупатели, программа лояльности, рассылки и push-кампании
- Статистика продаж по каналам, категориям и времени
- Роли и 45 прав, 2FA для сотрудников, журнал аудита
- Голосовой ассистент: оператор управляет панелью голосом
Backend
- NestJS: 25 модулей, 404 эндпоинта, 153 таблицы PostgreSQL
- Contract-first: из OpenAPI генерируются клиенты для всех пяти приложений
- Мультиарендность: рыба и мясо — две компании в одной установке
- Realtime на Socket.IO + Redis, очереди BullMQ, свой маршрутизатор OSRM
- Интеграции Syrve, фискализации, терминала maib, SMS, 1С и RestData
Результат
Покупатель, оператор, цех, курьер и бухгалтер работают с одними данными — без переноса заказов руками.
Модель «коптим под заказ, без склада» зашита в систему: окна доставки, сроки хранения от дня доставки, лента заказов для цеха.
Деньги у двери считает система: курьер фиксирует оплату, сервер сверяет сумму.
Курьер на карте и push-уведомления закрывают вопрос «где мой заказ».
Своя ERP (склад, техкарты, себестоимость, 1С) готовит отказ от платной лицензии Syrve.
Стек
Интеграции
Услуги в проекте

Хотите так же?
Расскажите о задаче — за 24 часа вернёмся с решением, сроками и планом запуска.