11 KiB
11 KiB
ЧЕКЛИСТ РАЗРАБОТКИ - ОБЯЗАТЕЛЬНЫЕ ПРОВЕРКИ
⚠️ КРИТИЧЕСКИ ВАЖНО: Этот чеклист ОБЯЗАТЕЛЕН к проверке перед любым изменением кода!
🔴 КРИТИЧЕСКИЕ ПРОВЕРКИ (НЕЛЬЗЯ НАРУШАТЬ)
✅ Типизация предметов
- Каждый предмет имеет один из 4 типов: ТОВАР, БРАК, РАСХОДНИКИ, ПРОДУКТ
- БРАК и ПРОДУКТ имеют обязательную связь с родительским товаром (parentId)
- Расходники создаются как универсальный тип, классифицируются при заказе
- ТОВАР ≠ ПРОДУКТ (разные сущности в системе)
✅ Workflow статусов
- Соблюдена последовательность: PENDING → SUPPLIER_APPROVED → CONFIRMED → LOGISTICS_CONFIRMED → SHIPPED → IN_TRANSIT → DELIVERED
- Нет пропуска промежуточных статусов
- Каждое изменение статуса сопровождается уведомлением
✅ Правила доступа
- Поставщик НЕ может добавлять собственные товары в корзину
- Заказ брака ЗАПРЕЩЕН
- Только активные предметы отображаются в маркете
- Проверка остатков перед добавлением в корзину
✅ Система фулфилмента
- Товары разделены на "на складе" и "в обработке"
- Модули статистики в правильной последовательности: ПРОДУКТ → ТОВАР → БРАК → ВОЗВРАТЫ → РАСХОДНИКИ СЕЛЛЕРОВ → РАСХОДНИКИ ФУЛФИЛМЕНТА
- Процесс создания продукта включает учет план/факт
✅ Система логистики
- Своевременное подтверждение заявок на доставку
- Соблюдение workflow логистики: получение заявки → подтверждение → забор → доставка
- Корректная работа системы тарификации (до 1м³ и свыше 1м³)
- Обязательные уведомления о статусе доставки
✅ Структура кабинетов
- Каждый тип кабинета имеет страницу "Главная" (РЕАЛИЗОВАНО)
- Страница "Главная" первая в sidebar навигации (РЕАЛИЗОВАНО)
- Условное отображение разделов по типу организации:
{user?.organization?.type === "TYPE" && (...)}
- Адаптивный роутинг для кнопок с разной логикой по типам кабинетов
- Роут
/home
с универсальным компонентом HomePageWrapper - 4 типо-зависимых компонента: SellerHomePage, FulfillmentHomePage, WholesaleHomePage, LogistHomePage
- Проверки доступа и безопасности в каждом компоненте
- Каждый кабинет имеет раздел "Экономика" (РЕАЛИЗОВАНО В СИСТЕМЕ)
- Разделы "Экономика" размещены перед настройками в каждом кабинете (РЕАЛИЗОВАНО)
- Пустые разделы-заглушки с пометкой "будет добавлен позже" (РЕАЛИЗОВАНО)
- Роут
/economics
с универсальным компонентом EconomicsPageWrapper (РЕАЛИЗОВАНО) - 4 типо-зависимых компонента экономики: SellerEconomicsPage, FulfillmentEconomicsPage, WholesaleEconomicsPage, LogistEconomicsPage (РЕАЛИЗОВАНО)
- Кнопка "Экономика" в sidebar навигации перед настройками (РЕАЛИЗОВАНО)
- Проверки доступа и безопасности в экономических компонентах (РЕАЛИЗОВАНО)
✅ Обязательные поля
- Название, артикул, цена > 0, тип предмета
- ИСКЛЮЧЕНИЕ: Цена брака может быть 0 для фулфилмента (себестоимость для селлера)
- Уникальность артикула в рамках организации
- Формат артикула: СФ-{ТИП}-{КОДКАТЕГОРИИ}-{КОДОРГАНИЗАЦИИ}-{TIMESTAMP}-{RANDOM}
- Товар имеет минимум одно изображение (ПРИМЕР АВТОСИНХРОНИЗАЦИИ)
🟡 ВАЖНЫЕ ПРОВЕРКИ
✅ Валидация данных
- Все числовые значения корректны (цена > 0, вес > 0)
- Количество в заказе не превышает остаток
- Проверка корректности дат (не прошедшие для поставок)
- Валидация количества: минимум 1 единица/комплект, максимум = остаток у поставщика
- Проверка в реальном времени при изменении количества
✅ Уведомления
- Автоматические уведомления при создании заказов
- Уведомления при изменении статусов всем участникам
- Логирование всех изменений
✅ Интеграции
- Синхронизация данных между модулями
- Корректная работа с API маркетплейсов
- Связь с модулем "Услуги" для расходников фулфилмента
💻 ТЕХНИЧЕСКИЕ ПРОВЕРКИ
✅ Пользовательский интерфейс
- Адаптивность интерфейса для всех устройств
- Индикаторы загрузки для длительных операций
- Подтверждение критических действий
- Время загрузки страницы не более 3 секунд
✅ Обработка ошибок
- Логирование всех ошибок с детальной информацией
- Понятные сообщения об ошибках для пользователя
- Автоматическое восстановление после сбоев
- Регулярное резервное копирование данных
✅ Производительность
- Пагинация для больших списков товаров
- Ленивая загрузка изображений
- Кэширование часто запрашиваемых данных
- Готовность к масштабированию
✅ Безопасность данных
- Шифрование чувствительных данных
- Аудит всех действий пользователей
- Контроль доступа на уровне API
- Соответствие требованиям GDPR
✅ Качество кода
- Покрытие тестами критической функциональности (минимум 80%)
- Следование принципам SOLID
- Документирование всех API методов
- Автоматическое тестирование при развертывании
🟢 РЕКОМЕНДУЕМЫЕ ПРОВЕРКИ
✅ Пользовательский опыт
- Адаптивность интерфейса
- Индикаторы загрузки
- Понятные сообщения об ошибках
✅ Производительность
- Пагинация для больших списков
- Ленивая загрузка изображений
- Кэширование данных
❌ АБСОЛЮТНО ЗАПРЕЩЕНО
- Удалять предметы с существующими заказами
- Изменять статусы без уведомлений
- Обходить проверки остатков
- Давать доступ к чужим данным
- Создавать брак/продукт без связи с родительским товаром
- Создавать отдельные типы расходников
- Разрешать заказ брака
- Нарушать последовательность статусов
- Игнорировать валидацию
- Нарушать последовательность модулей в статистике фулфилмента
🤔 ПРАВИЛО УТОЧНЕНИЙ
КРИТИЧЕСКИ ВАЖНО: Если я не уверен в выполнении задачи или вижу противоречия в правилах - ОБЯЗАТЕЛЬНО уточнить у пользователя!
❓ КОГДА УТОЧНЯТЬ:
- Недостаточно информации для правильного выполнения
- Вижу противоречия между правилами
- Задача может нарушить критические правила
- Неясно как применить правило в конкретной ситуации
- Есть сомнения в интерпретации требований
📝 КАК УТОЧНЯТЬ:
- Четко сформулировать что именно неясно
- Указать какие правила/требования конфликтуют
- Предложить варианты решения если возможно
- Запросить конкретные уточнения
❌ НИКОГДА не делать предположений если есть сомнения!
ПРАВИЛО: Перед каждым изменением кода проверить этот чеклист! ИСТОЧНИК ИСТИНЫ: rules2.md СТАТУС: ОБЯЗАТЕЛЬНЫЙ К ВЫПОЛНЕНИЮ