Veronika Smirnova 6647299a05 feat(refactor): complete modular architecture for direct-supply-creation
 ПЛАН ЭТАПЫ 2-5 ЗАВЕРШЕНЫ:

ПЛАН ЭТАП 2: Создание типов (direct-supply.types.ts)
- 🎯 206 строк типов и интерфейсов
- 📋 Все основные сущности: SupplyItem, Organization, FulfillmentService, etc
- 🔄 Пропсы для всех 5 блоков и 5 хуков
- 📊 Утилиты для расчетов и валидации

ПЛАН ЭТАП 3: Извлечение custom hooks (5 хуков)
- 🎯 useWildberriesProducts.ts (200 строк) - управление товарами WB
- 🔄 useSupplyManagement.ts (125 строк) - логика поставки и расчеты
- ⚙️ useFulfillmentServices.ts (130 строк) - услуги и расходники
- 👥 useSupplierForm.ts (145 строк) - форма поставщиков с валидацией
- 🚀 useSupplyCreation.ts (160 строк) - создание поставки и валидация

ПЛАН ЭТАП 4: Создание блок-компонентов (5 блоков)
- 🔍 ProductSearchBlock.tsx (65 строк) - поиск товаров
- 📦 ProductGridBlock.tsx (120 строк) - сетка товаров WB
- 📋 SupplyItemsBlock.tsx (165 строк) - управление товарами в поставке
- ⚙️ ServicesConfigBlock.tsx (145 строк) - настройка услуг и фулфилмента
- 👤 SupplierModalBlock.tsx (135 строк) - форма создания поставщика

ПЛАН ЭТАП 5: Интеграция в главном компоненте (245 строк)
- 🎯 Композиция всех 5 хуков и 5 блоков
- 🔄 Реактивные связи между модулями
- 📊 Передача callback'ов родительскому компоненту
-  Оптимизация через useCallback и React.memo

📊 АРХИТЕКТУРНЫЕ ДОСТИЖЕНИЯ:
- Модульность: 12 файлов vs 1 монолитный
- Переиспользуемость: блоки можно использовать отдельно
- Типизация: 100% TypeScript coverage
- Тестируемость: каждый хук и блок изолирован
- Производительность: React.memo + useCallback

🔧 ИСПРАВЛЕНЫ ОШИБКИ ESLint:
- Префиксы _ для неиспользуемых переменных
- useCallback для функций в dependencies
- Типизация unknown вместо any
- ESLint disable для img элемента

🎯 Готово к тестированию новой архитектуры\!

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 21:25:46 +03:00

Sfera V - Управление бизнесом

Платформа для управления различными типами бизнеса: фулфилмент, селлеры, логистика, оптовики.

Новые возможности

🏪 Склад Wildberries для селлеров

Новый раздел для селлеров, позволяющий:

  • Просмотр остатков товаров на всех складах WB в реальном времени
  • Статистика по складам - общее количество товаров, остатки, товары в пути
  • Фильтрация и поиск товаров по названию, артикулу, бренду
  • Детальная информация по каждому складу отдельно
  • Красивые карточки товаров с изображениями и статусами остатков

Как использовать:

  1. Настройте API ключ Wildberries в разделе "Настройки" → "API"
  2. Перейдите в раздел "Склад ВБ" в боковом меню
  3. Система автоматически загрузит актуальные остатки с вашего аккаунта WB

Технические особенности:

  • Интеграция с официальным API Wildberries
  • Поддержка всех типов складов WB
  • Кэширование данных для быстрой работы
  • Адаптивный дизайн в стиле платформы

База данных и инициализация

🛠 Команды для работы с БД

  • npm run db:seed - Инициализация БД (создание админа и категорий)
  • npm run db:reset - Полный сброс БД и пересоздание данных
  • npm run postinstall - Генерация Prisma Client

👤 Администратор по умолчанию

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

  • Логин: admin
  • Пароль: admin123
  • Email: admin@sferav.com

⚠️ Обязательно смените пароль после первого входа!

📂 Категории товаров

Автоматически создается 20 базовых категорий:

  • Одежда и обувь, Косметика и парфюмерия, Дом и сад
  • Детские товары, Спорт и отдых, Электроника
  • И другие популярные категории...

🔄 Автоматическая инициализация

База данных инициализируется автоматически при:

  • Первом запуске приложения
  • Запуске команды npm run db:seed
  • Сбросе БД через npm run db:reset

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

Структура проекта

  • src/app/wb-warehouse/ - Страница склада WB
  • prisma/seed.js - Скрипт инициализации БД
  • src/lib/seed-init.ts - Автоматическая инициализация
  • src/components/wb-warehouse/ - Компоненты интерфейса склада
  • src/services/wildberries-service.ts - Интеграция с API WB

Технологии

  • Next.js 15
  • React 18
  • TypeScript
  • GraphQL
  • Prisma
  • TailwindCSS
  • Shadcn/ui

Установка и запуск

npm install
npm run dev

API интеграции

  • Wildberries API для получения остатков и информации о складах
  • DaData для работы с организациями
  • SMS Aero для отправки SMS

Доступ к разделу "Склад ВБ" имеют только пользователи с типом организации "SELLER".

Description
No description provided
Readme 22 MiB
Languages
TypeScript 97.3%
JavaScript 1.8%
CSS 0.4%
HTML 0.4%