Files
sfera/логика.md

41 KiB
Raw Blame History

ЛОГИКА СИСТЕМЫ SFERA V - УПРАВЛЕНИЕ БИЗНЕСОМ

ВНИМАНИЕ: Данный файл содержит критически важную информацию о логике работы системы. Любые изменения в этом файле должны производиться только с разрешения владельца проекта. Файл служит эталонным источником для понимания архитектуры и бизнес-процессов системы.


1. ОБЩАЯ АРХИТЕКТУРА СИСТЕМЫ

1.1 Концепция платформы

Sfera V - это многопользовательская B2B платформа для управления цепочками поставок, объединяющая различные типы бизнеса:

  • Селлеры (продавцы на маркетплейсах)
  • Фулфилмент-центры (склады и логистика)
  • Поставщики (оптовые поставщики товаров)
  • Логистические компании (доставка товаров)

1.2 Технологический стек

  • Frontend: Next.js 15, React 18, TypeScript
  • Backend: GraphQL API, Apollo Server
  • База данных: PostgreSQL с Prisma ORM
  • UI: TailwindCSS, Shadcn/ui компоненты
  • Файловое хранилище: AWS S3
  • Внешние API: Wildberries, Ozon, DaData, SMS Aero

2. ТИПЫ ОРГАНИЗАЦИЙ И КАБИНЕТЫ

2.1 Типы организаций (OrganizationType)

SELLER - Селлер (продавец на маркетплейсах)
FULFILLMENT - Фулфилмент-центр
LOGIST - Логистическая компания
WHOLESALE - Поставщик (оптовик)

2.2 Структура кабинетов

2.2.1 Админ-кабинет

  • Назначение: Управление системой
  • Функции:
    • UI Kit (демонстрация компонентов)
    • Управление пользователями
    • Управление категориями товаров
    • Системная аналитика

2.2.2 Кабинет Селлера

  • Назначение: Продажи на маркетплейсах
  • Модули:
    • Мои поставки (управление заказами)
    • Склад WB (интеграция с Wildberries)
    • Статистика продаж
  • Интеграции: Wildberries API, Ozon API

2.2.3 Кабинет Фулфилмента

  • Назначение: Склады и обработка товаров
  • Модули:
    • Входящие поставки
    • Управление складом
    • Услуги фулфилмента
    • Сотрудники
    • Статистика операций

2.2.4 Кабинет Логистики

  • Назначение: Транспортные услуги
  • Модули:
    • Заявки на перевозки
    • Управление маршрутами

2.2.5 Кабинет Поставщика

  • Назначение: Оптовые продажи
  • Модули:
    • Каталог товаров
    • Отгрузки
    • Управление складом

2.3 Общие модули (доступны всем кабинетам)

  • Мессенджер: Коммуникации между участниками
  • Партнёры: Управление контрагентами
  • Настройки: Профиль организации, API ключи

3. ОСНОВНОЙ БИЗНЕС-ПРОЦЕСС ПОСТАВКИ

3.1 Схема процесса

Селлер → Маркет → Поставщик → Фулфилмент → Логистика → Селлер

3.2 Детальные этапы процесса

Этап 1: Создание заявки селлером

  1. Вход в маркет: Селлер заходит в раздел "Маркет"
  2. Выбор категории: Выбор нужной категории товаров
  3. Выбор товара: Выбор конкретного продукта из каталога
  4. Указание количества: Определение необходимого объема
  5. Выбор услуг: Выбор услуг фулфилмента и / или расходников фулфилмента и / или расходников селлера
  6. Создание заявки: Формирование заявки на поставку

Этап 2: Обработка заявки системой

  1. Сохранение у селлера: Заявка появляется в "Мои поставки" → "Все" → "Товар" и "Товар"
  2. Дублирование поставщику: Заявка автоматически отправляется поставщику

Этап 3: Одобрение поставщиком

  1. Рассмотрение заявки: Поставщик видит заявку в разделе "Заявки"
  2. Одобрение: Поставщик одобряет или отклоняет заявку
  3. Обновление статуса: Статус меняется у всех участников

Этап 4: Логистика

  1. Подготовка к отгрузке: Поставщик готовит товар к отправке
  2. Создание заявки в фулфилмент: Заявка появляется в кабинете фулфилмента
  3. Запрос логистики: Заявка передается в логистическую компанию
  4. Подтверждение логистикой: Логист подтверждает возможность доставки
  5. Физическая доставка: Транспортировка товара на фулфилмент

Этап 5: Обработка на фулфилменте

  1. Приемка товара: Менеджер фулфилмента принимает груз
  2. Ввод данных хранения: Указание места хранения, статус "Принято"
  3. Перенос в подготовку: Товар переходит в раздел "Подготовка"
  4. Обновление места хранения: Указание нового места хранения
  5. Перенос в работу: Товар переходит в подраздел "В работе"
  6. Контроль качества: Проверка количества и качества товара
  7. Завершение работ: При нажатии "Выполнено" товар переходит в "Выполнено"

Этап 6: Завершение

  1. Обновление статуса у селлера: Селлер получает уведомление о готовности товара

4. ПРОЦЕСС СОЗДАНИЯ ПОСТАВКИ РАСХОДНИКОВ ФУЛФИЛМЕНТА

4.1 Описание процесса

Фулфилмент-центры могут заказывать расходные материалы для своих операций напрямую у поставщиков. Этот процесс отличается от основного бизнес-процесса тем, что фулфилмент выступает как заказчик, а не как исполнитель услуг.

ВАЖНОЕ РАЗЛИЧИЕ: Расходники фулфилмента - это материалы, которые фулфилмент-центр заказывает для своих внутренних операций (упаковка, хранение, обработка товаров). Они отличаются от расходников селлера, которые селлер заказывает для своих товаров.

4.2 Участники процесса

  • Фулфилмент-центр - заказчик расходников
  • Поставщик (WHOLESALE) - поставщик расходных материалов
  • Логистическая компания (LOGIST) - доставка товаров от поставщика к фулфилменту
  • Система - автоматическая обработка заказов

4.3 Этапы процесса создания поставки расходников фулфилмента

Этап 1: Инициация заказа фулфилментом

  1. Переход к созданию заказа: Фулфилмент заходит в раздел "Входящие поставки" → "Расходники фулфилмента" → "Создать поставку"
  2. Выбор поставщика: Выбор контрагента с типом "WHOLESALE" из списка партнеров
  3. Поиск поставщика: Возможность поиска по названию, полному названию или ИНН
  4. Просмотр каталога: Просмотр товаров выбранного поставщика

Этап 2: Формирование заказа

  1. Поиск товаров: Поиск нужных расходников в каталоге поставщика
  2. Выбор количества: Указание необходимого количества для каждого товара
  3. Добавление в корзину: Товары добавляются в список выбранных расходников фулфилмента
  4. Выбор логистики: Выбор партнера-логиста для доставки товаров от поставщика
  5. Расчет стоимости: Автоматический расчет общей суммы заказа
  6. Указание даты доставки: Выбор желаемой даты поставки

Этап 3: Создание заказа в системе

  1. Валидация данных: Проверка заполнения всех обязательных полей
  2. Создание SupplyOrder: Система создает запись заказа поставки со статусом "PENDING"
  3. Указание получателя: fulfillmentCenterId устанавливается как ID текущего фулфилмента
  4. Указание логистики: logisticsPartnerId устанавливается как ID выбранной логистической компании
  5. Создание позиций заказа: Создание SupplyOrderItem для каждого выбранного товара

Этап 4: Автоматическая обработка системой

  1. Создание расходников: Система автоматически создает записи Supply со статусом "planned"
  2. Установка параметров:
    • Статус: "planned" (запланировано, ожидает одобрения)
    • Категория: из товара или "Расходники"
    • Минимальный остаток: 10% от заказанного количества
    • Текущий остаток: 0 (товар еще не поступил)
  3. Привязка к организации: Расходники создаются в организации фулфилмента
  4. Отправка уведомления: Поставщик получает уведомление о новом заказе

Этап 5: Обработка поставщиком

  1. Получение заявки: Заказ появляется в кабинете поставщика в разделе "Заявки"
  2. Рассмотрение заказа: Поставщик может принять или отклонить заказ
  3. Изменение статуса: При принятии статус SupplyOrder меняется на "CONFIRMED" (подтвержден поставщиком)
  4. Уведомление логистики: После одобрения поставщиком заявка появляется в кабинете логистической компании

Этап 6: Обработка логистикой

  1. Получение заявки: Заказ появляется в кабинете логистики в разделе "Заявки"
  2. Рассмотрение заявки: Логистическая компания может подтвердить или отклонить заявку на доставку
  3. Подтверждение логистики: При принятии логистика подтверждает возможность доставки в указанные сроки
  4. Обновление расходников: Supply переходят в статус "confirmed" (ожидает отгрузки)
  5. Подготовка к отгрузке: Поставщик готовит товар к отправке

Этап 7: Доставка и приемка

  1. Отгрузка товара: Поставщик отправляет товар логистической компании
  2. Обновление статуса расходников: Supply переходят в статус "in-transit" (в пути)
  3. Транспортировка: Логистическая компания доставляет товар в фулфилмент-центр
  4. Статус "IN_TRANSIT": Заказ переходит в статус "в пути"
  5. Приемка на фулфилменте: Менеджер фулфилмента принимает товар
  6. Обновление остатков: currentStock обновляется на фактически полученное количество
  7. Статус "DELIVERED": Заказ завершается со статусом "доставлен"
  8. Обновление расходников: Supply переходят в статус "in-stock" (на складе)

4.4 Особенности процесса

4.4.1 Отличия от основного процесса

  • Прямое взаимодействие: Фулфилмент напрямую заказывает у поставщика
  • Самостоятельная приемка: Фулфилмент принимает товар на свой склад
  • Управление остатками: Автоматическое управление минимальными остатками
  • Без посредников: Логистика может быть внешней или встроенной

4.4.2 Типы расходников

  • Упаковочные материалы: Коробки, пакеты, скотч
  • Защитные материалы: Пупырчатая пленка, стрейч-пленка
  • Маркировочные материалы: Этикетки, стикеры, маркеры
  • Инструменты: Ножи, степлеры, весы
  • Расходные материалы: Батарейки, картриджи, канцелярия

4.4.3 Автоматизация

  • Автоматический расчет минимальных остатков: 10% от заказанного количества
  • Уведомления: Автоматические уведомления всем участникам процесса
  • Обновление данных: Синхронизация статусов между всеми системами
  • Отчетность: Автоматическое обновление складских отчетов

4.5 Интеграция с основной системой

  • Единая база контрагентов: Использование общего справочника партнеров
  • Общие товары: Поставщики управляют единым каталогом товаров
  • Единая система уведомлений: Общий мессенджер для коммуникаций
  • Общая отчетность: Интеграция с общей системой аналитики

5. МОДЕЛЬ ДАННЫХ

5.1 Основные сущности

5.1.1 Organization (Организация)

- id: String (CUID)
- inn: String (уникальный)
- type: OrganizationType
- name, fullName: String
- address, addressFull: String
- apiKeys: ApiKey[]
- employees: Employee[]
- products: Product[]
- services: Service[]

5.1.2 Product (Товар)

- id: String (CUID)
- name: String
- article: String
- price: Decimal
- quantity: Int
- type: ProductType (PRODUCT/CONSUMABLE)
- categoryId: String
- organizationId: String
- images: Json

5.1.3 Supply (Поставка)

- id: String (CUID)
- name: String
- price: Decimal
- quantity: Int
- status: String (planned/in-transit/delivered/in-stock)
- organizationId: String

5.1.4 SupplyOrder (Заказ поставки)

- id: String (CUID)
- partnerId: String
- status: SupplyOrderStatus
- totalAmount: Decimal
- deliveryDate: DateTime
- items: SupplyOrderItem[]

5.2 Статусы заказов

PENDING - Ожидает подтверждения
CONFIRMED - Подтвержден
IN_TRANSIT - В пути
DELIVERED - Доставлен
CANCELLED - Отменен

5. ПРОЦЕССЫ СОЗДАНИЯ ПОСТАВОК СЕЛЛЕРАМИ

5.1 Описание процессов

Селлеры имеют несколько способов создания поставок в зависимости от источника товаров и типа поставки.

5.2 Типы поставок селлеров

5.2.1 Поставка через карточки товаров

Процесс: Селлер → Мои поставки → Создать поставку → Карточки

  1. Выбор типа: Селлер выбирает "Карточки" как источник товаров
  2. Интеграция с WB: Система загружает карточки товаров из Wildberries API
  3. Выбор товаров: Селлер выбирает нужные карточки из своего каталога WB
  4. Настройка количества: Указание количества для каждой карточки
  5. Выбор услуг: Выбор услуг фулфилмента и расходников
  6. Выбор фулфилмента: Выбор фулфилмент-центра для обработки
  7. Указание даты: Установка даты поставки
  8. Создание поставки: Формирование WildberriesSupply в системе

5.2.2 Поставка через поставщиков

Процесс: Селлер → Мои поставки → Создать поставку → Поставщик

  1. Выбор типа: Селлер выбирает "Поставщик" как источник товаров
  2. Выбор поставщика: Выбор из списка контрагентов типа WHOLESALE
  3. Просмотр каталога: Просмотр товаров выбранного поставщика
  4. Выбор товаров: Добавление товаров в корзину с указанием количества
  5. Выбор фулфилмента: Выбор фулфилмент-центра для доставки
  6. Создание заказа: Формирование SupplyOrder через основной процесс

5.2.3 Поставка расходников селлера

Процесс: Селлер → Расходники → Создать поставку

  1. Выбор поставщика: Выбор поставщика расходников (WHOLESALE)
  2. Выбор расходников: Выбор необходимых расходных материалов для селлера
  3. Выбор фулфилмента: Обязательный выбор фулфилмент-центра для доставки
  4. Создание заказа: Формирование SupplyOrder с типом CONSUMABLE

Важно: Расходники селлера отличаются от расходников фулфилмента назначением и получателем. Расходники селлера заказываются селлером для своих товаров, но доставляются в фулфилмент-центр.

5.3 Особенности процессов селлера

5.3.1 Прямое создание поставки

  • DirectSupplyCreation: Создание поставки с выбранными товарами
  • Расчет стоимости: Автоматический расчет общей стоимости товаров и услуг
  • Валидация: Проверка наличия всех обязательных полей
  • Интеграция: Сохранение данных в WildberriesSupply и WildberriesSupplyCard

5.3.2 Управление объемами и весом

  • Расчет объема: Автоматический расчет объема товаров для логистики
  • Количество мест: Определение количества грузовых мест
  • Стоимость услуг: Расчет стоимости услуг фулфилмента и логистики

6. ПРОЦЕССЫ УПРАВЛЕНИЯ ПАРТНЕРАМИ

6.1 Описание системы партнерства

Система партнерства позволяет организациям находить друг друга, отправлять заявки на сотрудничество и управлять контрагентами.

6.2 Процесс поиска партнеров

6.2.1 Поиск в маркете

  1. Переход в маркет: Организация заходит в раздел "Маркет"
  2. Выбор типа партнера: Выбор вкладки (Фулфилмент, Селлеры, Логистика, Поставщики)
  3. Поиск организаций: Использование SEARCH_ORGANIZATIONS запроса
  4. Фильтрация: Поиск по названию, ИНН, адресу
  5. Просмотр карточек: Изучение информации о потенциальных партнерах

6.2.2 Отправка заявки на партнерство

  1. Выбор организации: Клик на карточку интересующей организации
  2. Отправка заявки: Нажатие кнопки "Отправить заявку"
  3. Добавление сообщения: Опциональное сообщение к заявке
  4. Создание запроса: Система создает CounterpartyRequest со статусом PENDING
  5. Уведомление: Получатель видит входящую заявку в разделе "Партнеры"

6.2.3 Обработка заявок

  1. Просмотр заявок: Заявки отображаются в разделе "Партнеры" → "Мои контрагенты"
  2. Принятие заявки: Изменение статуса на ACCEPTED, создание связи Counterparty
  3. Отклонение заявки: Изменение статуса на REJECTED
  4. Автоматическое обновление: Обновление списков во всех связанных компонентах

6.3 Управление контрагентами

6.3.1 Типы контрагентов

  • FULFILLMENT: Фулфилмент-центры для обработки товаров
  • SELLER: Селлеры для продажи товаров
  • LOGIST: Логистические компании для доставки
  • WHOLESALE: Поставщики товаров и расходников

6.3.2 Функции управления

  • Просмотр списка: Все принятые контрагенты в одном разделе
  • Поиск и фильтрация: Поиск по различным критериям
  • Статусы заявок: Отслеживание входящих и исходящих заявок
  • Интеграция с процессами: Использование контрагентов в поставках

7. ПРОЦЕССЫ УПРАВЛЕНИЯ СКЛАДАМИ

7.1 Типы складских систем

7.1.1 Собственный склад организации

Процесс: Склад → Управление товарами

  1. Создание товаров: Добавление новых товаров в каталог
  2. Редактирование: Изменение характеристик товаров
  3. Управление остатками: Отслеживание количества товаров
  4. Категоризация: Привязка к категориям товаров
  5. Медиафайлы: Загрузка изображений товаров

7.1.2 Склад Wildberries (для селлеров)

Процесс: Склад WB → Просмотр остатков

  1. Интеграция с WB API: Получение данных через Wildberries API
  2. Загрузка карточек: Получение всех карточек товаров селлера
  3. Получение аналитики: Индивидуальные запросы по каждому nmId
  4. Комбинирование данных: Объединение карточек с данными остатков
  5. Отображение складов: Группировка по складам WB
  6. Статистика: Расчет общих показателей по остаткам

7.1.3 Фулфилмент склады

Процесс: Фулфилмент → Склад → Управление

  1. Приемка товаров: Получение товаров от поставщиков
  2. Размещение: Указание места хранения товаров
  3. Обработка: Подготовка товаров к отправке
  4. Контроль качества: Проверка товаров на брак
  5. Отгрузка: Подготовка к отправке селлерам

7.2 Интеграция складских процессов

7.2.1 Синхронизация остатков

  • Автоматическое обновление: Регулярная синхронизация с внешними API
  • Кэширование: Сохранение данных для быстрого доступа
  • Уведомления: Оповещения о критических остатках

7.2.2 Аналитика складов

  • Статистика по товарам: Общее количество, остатки, резерв
  • Статистика по складам: Активные склады, загруженность
  • Товары в пути: Отслеживание товаров в доставке

8. ПРОЦЕССЫ УПРАВЛЕНИЯ СОТРУДНИКАМИ

8.1 Система управления персоналом

8.1.1 Добавление сотрудников

  1. Создание профиля: Ввод основных данных сотрудника
  2. Документы: Загрузка паспортных данных и фотографий
  3. Контакты: Указание телефонов, email, мессенджеров
  4. Должность и зарплата: Установка позиции и оплаты
  5. Экстренные контакты: Контакты на случай чрезвычайных ситуаций

8.1.2 Управление статусами

Статусы сотрудников:

  • ACTIVE: Активно работает
  • VACATION: В отпуске
  • SICK: На больничном
  • FIRED: Уволен

8.1.3 Система табельного учета

  1. Создание расписания: Планирование рабочих дней
  2. Отметка статусов: Ежедневная отметка статуса работы
  3. Типы дней:
    • WORK: Рабочий день (8 часов)
    • WEEKEND: Выходной (0 часов)
    • VACATION: Отпуск (8 часов)
    • SICK: Больничный (8 часов)
    • ABSENT: Отсутствие (0 часов)
  4. Автоматический расчет: Подсчет отработанных часов
  5. Отчетность: Генерация табелей учета рабочего времени

8.2 Интеграция с бизнес-процессами

  • Назначение ответственных: Привязка сотрудников к заказам и процессам
  • Уведомления: Система уведомлений для сотрудников
  • Права доступа: Разграничение доступа по ролям

9. ПРОЦЕССЫ ЛОГИСТИКИ

9.1 Управление перевозками

9.1.1 Создание маршрутов

  1. Планирование маршрута: Определение точек отправления и назначения
  2. Расчет параметров: Расстояние, время в пути, стоимость
  3. Назначение груза: Привязка конкретных товаров к маршруту
  4. Статусы маршрутов:
    • planned: Запланировано
    • in_transit: В пути
    • delivered: Доставлено
    • cancelled: Отменено

9.1.2 Отслеживание доставок

  1. Мониторинг статусов: Отслеживание текущего состояния доставок
  2. Уведомления: Автоматические уведомления об изменении статусов
  3. Аналитика: Статистика по доставкам и эффективности
  4. Интеграция: Связь с процессами фулфилмента и поставок

9.2 Типы логистических операций

  • Доставка от поставщика к фулфилменту: Входящая логистика
  • Доставка от фулфилмента к селлеру: Исходящая логистика
  • Межскладские перемещения: Внутренняя логистика
  • Возвраты: Обратная логистика

10. СИСТЕМА АУТЕНТИФИКАЦИИ

10.1 Процесс регистрации/входа

  1. Ввод телефона: Пользователь вводит номер телефона
  2. SMS-код: Система отправляет код подтверждения через SMS Aero
  3. Выбор типа кабинета: Пользователь выбирает тип организации
  4. Ввод ИНН: Для B2B пользователей обязательно указание ИНН
  5. Проверка через DaData: Автоматическое получение данных организации
  6. API ключи маркетплейсов: Для селлеров - настройка интеграций
  7. Подтверждение: Завершение регистрации

10.2 Типы аутентификации

  • Пользователи: JWT токены, хранение в localStorage
  • Админы: Отдельная система с админскими токенами
  • API интеграции: Bearer токены для внешних сервисов

11. ВНЕШНИЕ ИНТЕГРАЦИИ

11.1 Wildberries API

  • Назначение: Получение данных по складам и товарам
  • Эндпоинты:
    • /ping - проверка валидности ключа
    • /api/v1/seller-info - информация о продавце
    • /api/v1/stocks - остатки товаров
    • /api/v1/warehouses - список складов

11.2 Ozon API

  • Назначение: Интеграция с маркетплейсом Ozon
  • Аутентификация: API ключ + Client ID

11.3 DaData API

  • Назначение: Получение информации об организациях по ИНН
  • Данные: Реквизиты, адреса, статусы организаций

11.4 SMS Aero API

  • Назначение: Отправка SMS для аутентификации
  • Аутентификация: HTTP Basic Auth (email + API key)

11.5 AWS S3

  • Назначение: Хранение файлов (изображения, документы, голосовые сообщения)

12. СИСТЕМА СООБЩЕНИЙ

12.1 Типы сообщений

TEXT - Текстовые сообщения
VOICE - Голосовые сообщения
IMAGE - Изображения
FILE - Файлы

12.2 Функциональность

  • Чаты между организациями
  • Прикрепление файлов
  • Голосовые сообщения
  • История переписки

13. УПРАВЛЕНИЕ СОТРУДНИКАМИ (СТАРОЕ)

13.1 Статусы сотрудников

ACTIVE - Активный
VACATION - В отпуске
SICK - На больничном
FIRED - Уволен

13.2 Система расписания

WORK - Рабочий день
WEEKEND - Выходной
VACATION - Отпуск
SICK - Больничный
ABSENT - Отсутствие

14. СИСТЕМА УСЛУГ И РАСХОДНИКОВ

14.1 Типы продуктов

PRODUCT - Основной товар
CONSUMABLE - Расходные материалы

ВАЖНОЕ ПРАВИЛО: В системе существуют два различных типа расходников:

  • Расходники селлера - расходные материалы, которые заказывает селлер для своих нужд
  • Расходники фулфилмента - расходные материалы, которые заказывает фулфилмент-центр для своих операций

Эти типы расходников имеют разные процессы заказа, разных получателей и разное назначение. В системе не должно быть просто "расходники" без указания принадлежности.

14.2 Услуги фулфилмента

  • Приемка товара
  • Хранение
  • Упаковка
  • Отгрузка
  • Контроль качества

15. СИСТЕМА УВЕДОМЛЕНИЙ И СТАТУСОВ

15.1 Отслеживание изменений

  • Все изменения статусов синхронизируются между кабинетами
  • Участники процесса получают уведомления о важных событиях
  • История изменений сохраняется для аудита

15.2 Критические точки процесса

  1. Одобрение заявки поставщиком
  2. Подтверждение логистикой
  3. Приемка товара на фулфилменте
  4. Завершение обработки товара

16. БЕЗОПАСНОСТЬ И ДОСТУПЫ

16.1 Разграничение доступа

  • Каждый тип организации видит только свои разделы
  • Общие модули (мессенджер, партнеры, настройки) доступны всем
  • Админ имеет полный доступ к системе

16.2 Защита данных

  • JWT токены с ограниченным временем жизни
  • Валидация всех входящих данных
  • Логирование критических операций

17. ИНИЦИАЛИЗАЦИЯ СИСТЕМЫ

17.1 Автоматическая настройка

При первом запуске система автоматически:

  • Создает админа (admin/admin123)
  • Инициализирует 20 базовых категорий товаров
  • Настраивает базовую структуру БД

17.2 Команды управления

npm run db:seed    # Инициализация БД
npm run db:reset   # Полный сброс БД
npm run postinstall # Генерация Prisma Client

18. ОСОБЕННОСТИ РЕАЛИЗАЦИИ

18.1 Адаптивность

  • Система поддерживает различные размеры экранов
  • Мобильная версия для основных функций
  • Прогрессивные веб-приложения (PWA) возможности

18.2 Производительность

  • Кэширование данных маркетплейсов
  • Оптимизированные GraphQL запросы
  • Ленивая загрузка компонентов

18.3 Масштабируемость

  • Модульная архитектура
  • Возможность добавления новых типов организаций
  • Расширяемая система интеграций

19. КРИТИЧЕСКИ ВАЖНЫЕ МОМЕНТЫ

19.1 Синхронизация статусов

Система должна обеспечивать консистентность данных между всеми участниками процесса. При изменении статуса в одном кабинете, изменения должны отражаться во всех связанных кабинетах.

19.2 Обработка ошибок API

Все внешние интеграции должны иметь fallback механизмы и graceful degradation при недоступности внешних сервисов.

19.3 Аудит операций

Все критические операции (создание заказов, изменение статусов, финансовые операции) должны логироваться для возможности аудита.

19.4 Разделение типов расходников

КРИТИЧЕСКИ ВАЖНО: В системе должно быть четкое разделение между расходниками селлера и расходниками фулфилмента:

  • Расходники селлера: Заказываются селлером, доставляются в фулфилмент-центр, используются для товаров селлера
  • Расходники фулфилмента: Заказываются фулфилмент-центром, доставляются на склад фулфилмента, используются для внутренних операций фулфилмента

Недопустимо использование общего термина "расходники" без указания принадлежности. Это может привести к ошибкам в учете, доставке и использовании материалов.


ВНИМАНИЕ: Данная логика является основой для всех разработок в системе. Любые изменения в бизнес-процессах должны быть отражены в этом документе. Разработчики должны использовать этот документ как источник истины при реализации новых функций.


Документ создан: $(date) Версия системы: Sfera V Статус: ЗАЩИЩЕН ОТ ИЗМЕНЕНИЙ БЕЗ РАЗРЕШЕНИЯ