Scoperly
Одна платформа на весь рабочий день дистрибьютора: продажи, остатки по складам, рейсы доставки, долги и кассы, а для его клиентов — витрина и маркетплейс.
Работает
- Что это
- Наш собственный продукт, работает
- Порталы
- Покупатели, поставщики, администрация, партнёры, разработчики
- Интерфейс
- 10 языков
- Где работает
- Google Cloud
Экраны демо-компании. Данные вымышлены.
Задача
Дистрибьютор продаёт магазинам, ресторанам и отделам закупок, и за каждой продажей стоят остатки, доставка, долг или касса. Задача была собрать продажи и всю эту работу в одной системе и дать клиентам одно место, где видно каталог и можно заказать.
Что построили
-
Остатки по складам и машинам
Остатки на каждом складе и в каждой машине, резерв под заказы, закупки, возвраты и пересчёты. Каждое изменение идёт через один сервис и блокирует строки, поэтому итоги сходятся.
-
Долги и кассы
Кто сколько должен и как давно, с разбивкой по документам. Долги — журнал, где записи только добавляются, рядом кассы, расходы и отчёты о прибыли.
-
Рейсы доставки
Заказы собираются в рейс на одну машину. Лист загрузки складывает всё, что нужно положить в кузов, и печатается одним файлом, со страницей на каждый заказ.
-
Отчёты
Продажи, маржа, удержание клиентов, движение денег и товаров: один раздел и один период на всех.
-
Connect API
Публичный API для других систем: каталог, остатки, заказы и вебхуки, контракт OpenAPI и документация для разработчиков.
Всё, что он умеет
Каталог и заказы
- Каталог и витрина.
- Прайс-листы, группы клиентов и скидки.
- Заказы.
- Маркетплейс.
Работа дистрибьютора
- Продажи и возвраты.
- Остатки на нескольких складах.
- Продажи с машины и прямые продажи.
- Рейсы доставки с листом загрузки.
Деньги и документы
- Долги клиентов в журнале, где записи только добавляются.
- Кассы и расходы.
- Отчёты.
- Печатные документы (PDF) и выгрузки.
Платформа
- Порталы для покупателей, поставщиков, администрации, партнёров и разработчиков.
- Интерфейс на 10 языках.
- Подписки через merchant of record (Paddle).
- Connect API с публичной документацией для разработчиков.
- Встроенный AI-ассистент, который работает с ключом клиента; ключи зашифрованы AES-256-GCM.
Как устроен
Части
- Порталы: Покупатели, Поставщики, Администрация, Партнёры, Разработчики
- API
- Данные: PostgreSQL, Redis, Объектное хранилище
- Внешние сервисы: Платежи, Почта, Защита от ботов
- Connect API
- Другие системы
- Scoperly Studio
Связи
- Пять порталов работают через API.
- API хранит данные в PostgreSQL.
- API использует Redis.
- API хранит файлы в объектном хранилище.
- API работает с внешним платёжным сервисом для подписок.
- API отправляет почту через внешний почтовый сервис.
- API использует внешний сервис защиты от ботов.
- Connect API — API платформы для других систем.
- Другие системы обмениваются данными с платформой через Connect API.
- Scoperly Studio синхронизируется с платформой через Connect API.
Инженерные решения
-
Один писатель для остатков
Все изменения остатков идут через один сервис, а итог всегда равен сумме по складам.
-
Блокировки строк там, где движутся деньги и товар
Оформление заказа, смена статусов и кредитные балансы берут блокировку строк, поэтому двое не продадут одну и ту же последнюю коробку.
-
Журналы, которые только растут
Долги и движения по кассам не обновляются и не удаляются. Это отвергает триггер в базе, а исправление — обратная запись.
-
Изоляция компаний
Каждый запрос ограничен своей компанией. Все арендаторы живут в одном глобальном экземпляре и не видят друг друга.
-
Keyset-пагинация
Длинные списки листаются от последней показанной строки, а не по смещению, поэтому остаются быстрыми по мере роста.
-
Зашифрованные AI-ключи клиентов
Ассистент работает с собственным ключом клиента, который хранится зашифрованным AES-256-GCM.
Технологии
PostgreSQL с версионными миграциями. Работает в Google Cloud: виртуальная машина с контейнерами, управляемая база данных, объектное хранилище, балансировщик нагрузки и правила WAF.
По направлениям
- AI и машинное обучение AI-ассистент, работающий с ключом клиента, встроен в платформу; ключи зашифрованы AES-256-GCM.
- Веб-платформы Мультиарендная платформа: несколько порталов, интерфейс на 10 языках, подписки.
- Безопасность Аудит и исправления по нему, ограничение частоты запросов, правила WAF, защита от ботов, изоляция арендаторов.
- Данные и базы данных Версионные миграции схемы, keyset-пагинация, блокировки строк при работе со складом.
- DevOps и облако Прод в Google Cloud: виртуальная машина с контейнерами, управляемая база данных, балансировщик; CI/CD.
- Интеграции и автоматизация Scoperly Connect API с публичной документацией для разработчиков.
Другой продукт
Scoperly Studio
Десктопная учётная система для дистрибьюторов: офисный сервер и десктоп-клиенты для Windows.
Как он устроен : Scoperly StudioРасскажите о задаче
Хватит нескольких строк. Мы прочитаем их и ответим вопросами.