179 lines
11 KiB
Markdown
179 lines
11 KiB
Markdown
# ЧЕКЛИСТ РАЗРАБОТКИ - ОБЯЗАТЕЛЬНЫЕ ПРОВЕРКИ
|
||
|
||
> ⚠️ **КРИТИЧЕСКИ ВАЖНО**: Этот чеклист ОБЯЗАТЕЛЕН к проверке перед любым изменением кода!
|
||
|
||
## 🔴 КРИТИЧЕСКИЕ ПРОВЕРКИ (НЕЛЬЗЯ НАРУШАТЬ)
|
||
|
||
### ✅ Типизация предметов
|
||
|
||
- [ ] Каждый предмет имеет один из 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 методов
|
||
- [ ] Автоматическое тестирование при развертывании
|
||
|
||
## 🟢 РЕКОМЕНДУЕМЫЕ ПРОВЕРКИ
|
||
|
||
### ✅ Пользовательский опыт
|
||
|
||
- [ ] Адаптивность интерфейса
|
||
- [ ] Индикаторы загрузки
|
||
- [ ] Понятные сообщения об ошибках
|
||
|
||
### ✅ Производительность
|
||
|
||
- [ ] Пагинация для больших списков
|
||
- [ ] Ленивая загрузка изображений
|
||
- [ ] Кэширование данных
|
||
|
||
## ❌ АБСОЛЮТНО ЗАПРЕЩЕНО
|
||
|
||
1. Удалять предметы с существующими заказами
|
||
2. Изменять статусы без уведомлений
|
||
3. Обходить проверки остатков
|
||
4. Давать доступ к чужим данным
|
||
5. Создавать брак/продукт без связи с родительским товаром
|
||
6. Создавать отдельные типы расходников
|
||
7. Разрешать заказ брака
|
||
8. Нарушать последовательность статусов
|
||
9. Игнорировать валидацию
|
||
10. Нарушать последовательность модулей в статистике фулфилмента
|
||
|
||
---
|
||
|
||
## 🤔 ПРАВИЛО УТОЧНЕНИЙ
|
||
|
||
**КРИТИЧЕСКИ ВАЖНО**: Если я не уверен в выполнении задачи или вижу противоречия в правилах - ОБЯЗАТЕЛЬНО уточнить у пользователя!
|
||
|
||
### ❓ КОГДА УТОЧНЯТЬ:
|
||
|
||
- [ ] Недостаточно информации для правильного выполнения
|
||
- [ ] Вижу противоречия между правилами
|
||
- [ ] Задача может нарушить критические правила
|
||
- [ ] Неясно как применить правило в конкретной ситуации
|
||
- [ ] Есть сомнения в интерпретации требований
|
||
|
||
### 📝 КАК УТОЧНЯТЬ:
|
||
|
||
1. Четко сформулировать что именно неясно
|
||
2. Указать какие правила/требования конфликтуют
|
||
3. Предложить варианты решения если возможно
|
||
4. Запросить конкретные уточнения
|
||
|
||
**❌ НИКОГДА не делать предположений если есть сомнения!**
|
||
|
||
---
|
||
|
||
**ПРАВИЛО**: Перед каждым изменением кода проверить этот чеклист!
|
||
**ИСТОЧНИК ИСТИНЫ**: rules2.md
|
||
**СТАТУС**: ОБЯЗАТЕЛЬНЫЙ К ВЫПОЛНЕНИЮ
|