Добавлены кнопки навигации "Главная" и "Экономика" в боковую панель. Реализованы обработчики кликов для перехода на соответствующие страницы. Обновлены стили кнопок для улучшения пользовательского интерфейса в зависимости от состояния навигации.

This commit is contained in:
Veronika Smirnova
2025-08-02 13:13:22 +03:00
parent 3f759e7454
commit a33adda9d7
21 changed files with 3225 additions and 0 deletions

178
development-checklist.md Normal file
View File

@ -0,0 +1,178 @@
# ЧЕКЛИСТ РАЗРАБОТКИ - ОБЯЗАТЕЛЬНЫЕ ПРОВЕРКИ
> ⚠️ **КРИТИЧЕСКИ ВАЖНО**: Этот чеклист ОБЯЗАТЕЛЕН к проверке перед любым изменением кода!
## 🔴 КРИТИЧЕСКИЕ ПРОВЕРКИ (НЕЛЬЗЯ НАРУШАТЬ)
### ✅ Типизация предметов
- [ ] Каждый предмет имеет один из 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
**СТАТУС**: ОБЯЗАТЕЛЬНЫЙ К ВЫПОЛНЕНИЮ