Skip to content
Проект клиентаПлатформа · E-commerce · CRM/ERP

We Smoke Fish

Шесть приложений, одна система: от заказа в телефоне до рыбы у двери.

Клиент
wesmokefish.md
Город
Кишинёв
Год
2026
Статус
Работает
We Smoke Fish — Платформа · E-commerce · CRM/ERP
6приложений в одной платформе
404эндпоинта API
94экранов в панели CRM/ERP
1 360тестовых файлов
// Задача

Задача

We Smoke Fish коптит рыбу под заказ в день доставки, склада готовой продукции нет. Старый сайт, ручной приём заказов, учёт в Syrve и отчёты в Telegram жили отдельно: оператор переносил данные руками, курьер звонил клиентам, а деньги у двери сверялись в конце дня.

// Решение

Решение

Мы спроектировали и построили платформу из шести приложений с общим API-контрактом. Покупатель заказывает на сайте или в приложении и видит курьера на карте. Курьер собирает рейс сканированием коробок. Оператор, цех и бухгалтерия работают в одной панели: заказы, окна доставки, склад, техкарты, закупки, лояльность, экспорт в 1С.

// Экраны проекта

Экраны проекта

Приложение: каталог с фасовками и ценами
Приложение: курьер на карте в реальном времени
Приложение: программа лояльности и баллы
Приложение: карточка товара
Сайт: главная в фирменном стиле клиента
Сайт: карточка товара с выбором граммовки
Сайт: карта зон доставки
Баннер для Google Play
// Что мы сделали

Что мы сделали

Сайт-магазин

  • 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
// Результат

Результат

01

Покупатель, оператор, цех, курьер и бухгалтер работают с одними данными — без переноса заказов руками.

02

Модель «коптим под заказ, без склада» зашита в систему: окна доставки, сроки хранения от дня доставки, лента заказов для цеха.

03

Деньги у двери считает система: курьер фиксирует оплату, сервер сверяет сумму.

04

Курьер на карте и push-уведомления закрывают вопрос «где мой заказ».

05

Своя ERP (склад, техкарты, себестоимость, 1С) готовит отказ от платной лицензии Syrve.

// Стек

Стек

Nuxt 4Vue 3NestJS 11PostgreSQL 18Redis · BullMQSocket.IOExpo · React NativeElectronMapLibre · OSRMDocker · Cloudflare
// Интеграции

Интеграции

Syrve (iiko)FiscalTradeDXmaibSMS.MDExpo PushOpenStreetMapTelegram1СRestDataOpenRouter · Whisper
Следующий кейс →WeSmokeMeatСвоя касса вместо чужой лицензии: весы, терминал, фискальный чек и склад в одной программе.
WeSmokeMeat

Хотите так же?

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