# 📋 ПРАВИЛА URL И МАРШРУТИЗАЦИИ СИСТЕМЫ SFERA > **Дата создания**: 28.08.2025 > **Статус**: ✅ Активно > **Связанные документы**: > - [COMPONENT_ARCHITECTURE.md](./COMPONENT_ARCHITECTURE.md) > - [DOMAIN_MODEL.md](../core/DOMAIN_MODEL.md) > - [SIDEBAR_ARCHITECTURE_RULES.md](./SIDEBAR_ARCHITECTURE_RULES.md) ## 🎯 ОСНОВНЫЕ ПРИНЦИПЫ ### ФОРМУЛА URL ``` /{role}/{domain}/{section}/{view} ``` ### КЛЮЧЕВЫЕ ПРАВИЛА 1. **РОЛЕВОЕ РАЗДЕЛЕНИЕ** - Каждая роль имеет свой базовый путь - `/seller` - кабинет селлера - `/fulfillment` - кабинет фулфилмента - `/wholesale` - кабинет поставщика - `/logistics` - кабинет логистики 2. **ИЕРАРХИЧЕСКАЯ СТРУКТУРА** - От общего к частному - Максимум 4 уровня вложенности 3. **ИМЕНОВАНИЕ** - Английские термины - Множественное число для коллекций: `supplies/`, `orders/` - Единственное число для действий: `create/` - Дефисы для составных слов: `seller-consumables` --- ## 🏢 URL ПО РОЛЯМ ### 🛒 SELLER (Селлер) ``` /seller/ ├── home # Главная селлера ├── supplies/ # Поставки селлера │ ├── goods/ # Товары селлера → склад ФФ │ │ ├── cards # Вид: карточки товаров │ │ └── suppliers # Вид: по поставщикам │ ├── consumables # Расходники селлера → склад ФФ │ └── marketplace/ # Поставки на маркетплейсы │ ├── wildberries # Поставки на WB │ └── ozon # Поставки на Ozon ├── create/ # Создание поставок │ ├── goods # Создать поставку товаров │ └── consumables # Создать поставку расходников ├── statistics # Статистика селлера ├── messenger # Мессенджер ├── economics # Экономика ├── partners # Партнёры ├── market # Маркет ├── exchange # Биржа └── settings # Настройки ``` **Примеры URL:** - `/seller/home` - главная страница селлера - `/seller/supplies/goods/cards` - товары-карточки - `/seller/supplies/consumables` - расходники селлера - `/seller/supplies/marketplace/wildberries` - поставки на WB - `/seller/create/consumables` - создание расходников ### 🏭 FULFILLMENT (Фулфилмент) ``` /fulfillment/ ├── home # Главная фулфилмента ├── supplies/ # Входящие поставки на ФФ │ ├── goods/ # Товары от селлеров │ │ ├── new # Новые поставки │ │ ├── receiving # Ожидают приемки │ │ └── received # Принятые на склад │ ├── consumables # Расходники ФФ │ └── seller-consumables # Расходники селлеров (на хранении) ├── warehouse/ # Складские операции │ ├── supplies # Остатки расходников ФФ │ ├── seller-consumables # Остатки расходников селлеров │ └── products # Остатки товаров ├── create/ # Создание заказов ФФ │ └── consumables # Заказ расходников ФФ └── statistics # Статистика фулфилмента ``` **Примеры URL:** - `/fulfillment/home` - главная страница фулфилмента - `/fulfillment/supplies/goods/receiving` - товары на приемке - `/fulfillment/supplies/consumables` - расходники ФФ - `/fulfillment/supplies/seller-consumables` - расходники селлеров - `/fulfillment/warehouse/supplies` - склад расходников ### 🏪 WHOLESALE (Поставщик) ``` /wholesale/ ├── home # Главная поставщика ├── orders/ # Входящие заказы (единый раздел) │ └── (включает товары + расходники ФФ + расходники селлеров) ├── catalog/ # Каталог товаров поставщика │ ├── goods # Товары для продажи │ └── consumables # Расходники └── statistics # Статистика поставщика ``` **Примеры URL:** - `/wholesale/home` - главная страница поставщика - `/wholesale/orders` - все входящие заказы - `/wholesale/catalog/goods` - каталог товаров - `/wholesale/catalog/consumables` - каталог расходников ### 🚛 LOGISTICS (Логистика) ``` /logistics/ ├── home # 🏠 Главная логистики ├── orders/ # 🚛 Перевозки (логистические заказы) │ ├── pending # Ожидают подтверждения │ ├── confirmed # Подтвержденные │ ├── in-transit # В пути │ └── delivered # Доставленные ├── messenger # 💬 Мессенджер ├── economics # 💰 Экономика ├── partners # 🤝 Партнёры ├── market # 🏪 Маркет ├── exchange # 📈 Биржа ├── routes # 🗺️ Управление маршрутами └── settings # ⚙️ Настройки ``` **Примеры URL (в порядке сайдбара):** - `/logistics/home` - 🏠 главная страница логистики - `/logistics/orders/pending` - 🚛 ожидающие заказы (перевозки) - `/logistics/messenger` - 💬 мессенджер логиста - `/logistics/economics` - 💰 экономика логистической компании - `/logistics/partners` - 🤝 партнёры логистики - `/logistics/market` - 🏪 маркет логистических услуг - `/logistics/exchange` - 📈 биржа логистических услуг - `/logistics/settings` - ⚙️ настройки профиля --- ## 🔄 РЕДИРЕКТЫ ДЛЯ СОВМЕСТИМОСТИ Старые URL автоматически перенаправляются на новые: ```typescript // Старый URL → Новый URL /supplies → /seller/supplies/goods/cards /fulfillment-supplies → /fulfillment/supplies/goods/receiving /supplier-orders → /wholesale/orders /logistics-orders → /logistics/orders/pending /home → ролевой редирект на /[role]/home ``` --- ## 📏 ТЕХНИЧЕСКИЕ ДЕТАЛИ РЕАЛИЗАЦИИ ### ДЕФОЛТНЫЕ СТРАНИЦЫ При переходе на корневой URL роли происходит редирект: ```typescript /seller → /seller/home /fulfillment → /fulfillment/home /wholesale → /wholesale/home /logistics → /logistics/home ``` ### СТРУКТУРА ФАЙЛОВ ``` src/app/ ├── seller/ │ ├── page.tsx # Редирект на дефолтную страницу │ ├── supplies/ │ │ ├── page.tsx # Редирект на goods/cards │ │ ├── goods/ │ │ │ ├── page.tsx # Редирект на cards │ │ │ ├── cards/page.tsx # Основная страница │ │ │ └── suppliers/page.tsx │ │ └── consumables/page.tsx │ └── create/... ├── fulfillment/... ├── wholesale/... └── logistics/... ``` ### ОБРАБОТКА НАВИГАЦИИ В КОМПОНЕНТАХ Компоненты определяют активные табы на основе текущего URL: ```typescript // В supplies-dashboard.tsx useEffect(() => { const currentPath = window.location.pathname if (currentPath.includes('/seller/supplies/goods/cards')) { setActiveTab('fulfillment') setActiveSubTab('goods') setActiveThirdTab('cards') } // ... другие проверки }, []) ``` --- ## 🚀 ПРЕИМУЩЕСТВА СИСТЕМЫ 1. **SEO-оптимизация** - понятные и описательные URL 2. **Масштабируемость** - легко добавлять новые разделы 3. **Навигация** - интуитивная структура для пользователей 4. **Аналитика** - точное отслеживание путей пользователей 5. **Поддержка** - четкое соответствие бизнес-логике --- ## ⚠️ ВАЖНЫЕ ЗАМЕЧАНИЯ 1. **V1/V2 автоопределение** - система поставок автоматически определяет версию данных, но URL остается единым 2. **Права доступа** - URL проверяются на уровне middleware для соответствия роли пользователя 3. **Локализация** - URL остаются на английском, перевод только в UI 4. **Sidebar изоляция** - каждая роль имеет отдельный sidebar компонент (см. SIDEBAR_ARCHITECTURE_RULES.md) --- ## 📝 ИСТОРИЯ ИЗМЕНЕНИЙ | Дата | Версия | Описание | Автор | |------------|--------|---------------------------------------------|----------| | 28.08.2025 | 1.0 | Первая версия правил URL | AI | | 28.08.2025 | 1.1 | Миграция /supplies → /seller | AI | | 28.08.2025 | 1.2 | Связь с SIDEBAR_ARCHITECTURE_RULES.md | AI |