Система управления складом (WMS)
Полный складской цикл от приёмки до отгрузки для крупного FMCG-дистрибьютора — четыре клиентских приложения и живая синхронизация с внешней ERP.
- 1 295
- коммитов
- 820
- файлов кода
- 4
- клиентских приложения
- 3
- языка
Проблема
Склад вёлся на бумажных листах и в Excel. Остатки не были видны в реальном времени, товар с истекающим сроком смешивался с обычным, ошибка сборки всплывала только после жалобы клиента. Заказы из ERP компании переносились на склад вручную — постоянный источник задержек и расхождений.
Решение
Свёл всю цепочку от приёмки до отгрузки в одну систему. Товар принимается с партией и сроком годности, при сборке по FEFO автоматически предлагается партия с ближайшим сроком, сборщик сканирует штрихкод в приложении на телефоне. Обмен с ERP компании вынесен в отдельный воркер — заказы, товары и остатки синхронизируются автоматически, при ошибке идёт повтор.
Ключевые возможности
- FEFO: партия с ближайшим сроком выбирается автоматически, просроченный товар блокируется на приёмке
- Wave picking — заказы группируются в волны, маршрут по складу сокращается
- Офлайн-очередь: при потере связи приложение продолжает работать, действия уходят по порядку после восстановления
- Контроль сессий «один профиль — одно устройство» и аудит-лог каждого действия
- Роли: администратор, контролёр и сборщик — у каждого свой интерфейс и права
- Двусторонняя интеграция с внешней ERP: синхронизация заказов, товаров и остатков в фоновом воркере
- Четыре клиента: React PWA админка, Android-приложение на React Native, Capacitor PWA и десктоп на Tauri
- Push-уведомления через FCM и интерфейс на трёх языках (узбекский, русский, английский)
- Нагрузочное тестирование Locust — проверено в условиях реальной складской смены
Архитектура
Один API на FastAPI обслуживает четыре клиента. Обмен с внешней ERP вынесен в отдельный от API воркер — поэтому даже при замедлении интеграции склад продолжает работать.
Клиенты
Сканер, офлайн-очередь, push
Слой API
REST, контроль сессий
Доменные сервисы
Данные и фоновые процессы
Очередь, повторы, восстановление
Технологии
Backend
Веб
Мобильные
Инфраструктура
Моя роль
Единственный разработчик: архитектура, backend, веб-админка, мобильные приложения, интеграция с ERP, деплой и нагрузочное тестирование.
Имена клиентов, домены и адреса серверов не раскрываются из соображений конфиденциальности.