architect/arh/projects/PRO_SELLER_MVP.md

PRO.seller MVP — Проект

Версия: 1.0.0
Дата: 2025-12-19
Статус: Planning


1. ЦЕЛЬ MVP

Запустить работающую систему продаж за 2 недели:
- Принять реальный заказ через сайт
- Обработать заказ через интерфейс
- Отгрузить через OZON/СДЭК
- Получить деньги
- Проанализировать результаты


2. КРИТЕРИИ УСПЕХА MVP

Метрика Цель Как измерить
Заказов через систему ≥10 Счётчик в базе
Конверсия сайта ≥2% Аналитика
Время обработки заказа <5 мин Таймер в системе
Ошибок синхронизации 0 Логи
Uptime 99% Мониторинг

3. SCOPE MVP (ЧТО ВХОДИТ)

3.1 CORE (Ядро)

 Auth
   ├── [x] Логин/логаут
   ├── [x] JWT токены
   ├── [x] Роли (admin, manager, operator)
   └── [x] Сессии

 Users
   ├── [x] CRUD пользователей
   ├── [x] Права доступа
   └── [x] Профиль

 Settings
   ├── [x] Настройки системы
   ├── [x] API ключи (OZON, WB)
   └── [x] Webhook URLs

3.2 PIM (Товары)

 Products
   ├── [x] Карточка товара
   ├── [x] SKU, название, описание
   ├── [x] Цены (закупка, база, МП)
   ├── [x] Изображения (до 5 шт)
   ├── [x] Габариты, вес
   └── [x] Статус (активен/архив)

 Categories
   ├── [x] Дерево категорий
   ├── [x] Наценка по категории
   └── [x] Маппинг на категории МП

 Inventory
   ├── [x] Остатки по складам
   ├── [x] Резервирование
   └── [x] История движения

 Import
   ├── [x] Импорт из Excel
   └── [x] Импорт из 1С (XML)

3.3 ERP (Заказы)

 Orders
   ├── [x] Список заказов
   ├── [x] Карточка заказа
   ├── [x] Статусы (workflow)
   ├── [x] Позиции заказа
   ├── [x] Данные клиента
   └── [x] Комментарии

 Order Workflow
   ├── [x] new  approved  assembling  shipped  delivered
   ├── [x] Смена статуса вручную
   ├── [x] Автосмена при событиях МП
   └── [x] История изменений

 Suppliers (базово)
   ├── [x] Список поставщиков
   ├── [x] Контакты
   └── [x] Прайсы поставщиков

3.4 MARKET (Маркетплейсы)

 OZON
   ├── [x] Подключение аккаунта
   ├── [x] Синхронизация заказов (FBS)
   ├── [x] Статусы отправлений
   ├── [x] Создание отгрузки
   └── [x] Печать этикеток

 WB (после MVP)
 YM (после MVP)

3.5 DELIVERY (Доставка)

 Warehouses
   ├── [x] Список складов
   ├── [x] Адреса
   └── [x] Привязка к МП

 Shipments
   ├── [x] Создание отгрузки
   ├── [x] Статус отгрузки
   └── [x] Трек-номер

 СДЭК API (после MVP)
 Почта API (после MVP)

3.6 CRM (Клиенты)

 Clients
   ├── [x] Карточка клиента
   ├── [x] История заказов
   ├── [x] Контакты (телефон, email)
   └── [x] Комментарии

3.7 ANALYTICS (Аналитика)

 Dashboard
   ├── [x] Заказы сегодня/неделя/месяц
   ├── [x] Выручка
   ├── [x] Средний чек
   └── [x] Топ товаров

 Reports (базово)
   ├── [x] Отчёт по продажам
   └── [x] Отчёт по остаткам

3.8 ROBOTS (Автоматизация)

 Sync
   ├── [x] Авто-синхронизация заказов OZON (каждые 5 мин)
   ├── [x] Авто-обновление статусов
   └── [x] Webhook приём

 Alerts
   ├── [x] Telegram-уведомления о заказах
   └── [x] Alert при низком остатке

3.9 STOREFRONT (Витрина)

 Catalog
   ├── [x] Страница каталога
   ├── [x] Карточка товара
   ├── [x] Фильтры
   └── [x] Поиск

 Cart & Checkout
   ├── [x] Корзина
   ├── [x] Оформление заказа
   ├── [x] Форма доставки
   └── [x] Подтверждение

 Chat (WhatsApp/Telegram)
   ├── [x] Виджет на сайте
   └── [x] Приём заказов через чат

4. НЕ ВХОДИТ В MVP

Модуль Причина Когда
WB интеграция Сложность API v1.1
YM интеграция Приоритет ниже v1.2
Marketing (email, SMS) Не критично v1.1
СДЭК/Почта API Можно вручную v1.1
Биллинг SaaS Сначала для себя v2.0
Мобильное приложение Веб достаточно v2.0
AI-генерация контента Nice to have v1.2

5. АРХИТЕКТУРА MVP

┌─────────────────────────────────────────────────────────────────────┐
│                         PRO.seller MVP                               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│   ┌─────────────┐      ┌─────────────┐      ┌─────────────┐        │
│   │  STOREFRONT │      │   ADMIN     │      │    API      │        │
│   │   :8600     │      │   :8510     │      │   :8500     │        │
│   │             │      │             │      │             │        │
│   │ • Каталог   │      │ • Dashboard │      │ • REST      │        │
│   │ • Корзина   │      │ • PIM       │      │ • Webhooks  │        │
│   │ • Checkout  │      │ • Orders    │      │ • OZON sync │        │
│   │ • Чат       │      │ • Analytics │      │             │        │
│   └──────┬──────┘      └──────┬──────┘      └──────┬──────┘        │
│          │                    │                    │                │
│          └────────────────────┼────────────────────┘                │
│                               ▼                                     │
│                    ┌─────────────────────┐                         │
│                    │     PostgreSQL      │                         │
│                    │   pro_seller (MVP)  │                         │
│                    └─────────────────────┘                         │
│                               │                                     │
│          ┌────────────────────┼────────────────────┐               │
│          ▼                    ▼                    ▼               │
│   ┌─────────────┐      ┌─────────────┐      ┌─────────────┐       │
│   │   OZON API  │      │  Telegram   │      │   S3/Disk   │       │
│   │             │      │    Bot      │      │   (images)  │       │
│   └─────────────┘      └─────────────┘      └─────────────┘       │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

6. БАЗА ДАННЫХ MVP

Схема таблиц

-- CORE
usr_users           -- Пользователи системы
usr_sessions        -- Сессии

-- PIM
cat_categories      -- Категории
cat_products        -- Товары
cat_images          -- Изображения товаров
cat_attributes      -- Атрибуты товаров
cat_warehouses      -- Склады
cat_stock           -- Остатки
cat_stock_history   -- История движения

-- ERP
ord_orders          -- Заказы
ord_items           -- Позиции заказов
ord_history         -- История изменений заказа
prc_suppliers       -- Поставщики
prc_prices          -- Прайсы поставщиков

-- CRM
crm_clients         -- Клиенты
crm_client_orders   -- Связь клиент-заказы

-- MARKET
mp_accounts         -- Аккаунты МП (OZON, WB)
mp_orders           -- Заказы с МП (сырые данные)
mp_sync_log         -- Лог синхронизации

-- DELIVERY
shp_shipments       -- Отгрузки
shp_tracking        -- Трекинг

-- STOREFRONT
sf_cart             -- Корзины
sf_cart_items       -- Позиции корзин
sf_sessions         -- Сессии посетителей

-- ANALYTICS
log_events          -- События для аналитики

7. ТЕСТОВАЯ МОДЕЛЬ (USER SIMULATOR)

7.1 Концепция

┌─────────────────────────────────────────────────────────────────────┐
│                      TEST SIMULATOR                                  │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│   ┌─────────────┐      ┌─────────────┐      ┌─────────────┐        │
│   │   BUYER     │      │  OPERATOR   │      │   MANAGER   │        │
│   │   (bot)     │      │   (bot)     │      │   (bot)     │        │
│   │             │      │             │      │             │        │
│   │ • Browsing  │      │ • Process   │      │ • Analytics │        │
│   │ • Add cart  │      │ • Ship      │      │ • Reports   │        │
│   │ • Checkout  │      │ • Update    │      │ • Decisions │        │
│   │ • Pay       │      │             │      │             │        │
│   └──────┬──────┘      └──────┬──────┘      └──────┬──────┘        │
│          │                    │                    │                │
│          └────────────────────┼────────────────────┘                │
│                               ▼                                     │
│                    ┌─────────────────────┐                         │
│                    │    PRO.seller       │                         │
│                    │   (через UI/API)    │                         │
│                    └─────────────────────┘                         │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

7.2 Роли симулятора

BUYER BOT (Покупатель)

class BuyerBot:
    """Симулирует поведение покупателя"""

    scenarios = [
        "browse_and_buy",      # Просмотр → покупка
        "browse_and_leave",    # Просмотр → уход
        "cart_abandon",        # Бросил корзину
        "quick_buy",           # Быстрая покупка
        "return_customer",     # Повторный клиент
        "chat_order",          # Заказ через чат
    ]

    actions = [
        "visit_catalog",       # Зайти в каталог
        "view_product",        # Посмотреть товар
        "add_to_cart",         # Добавить в корзину
        "remove_from_cart",    # Удалить из корзины
        "proceed_checkout",    # Перейти к оформлению
        "fill_contacts",       # Заполнить контакты
        "select_delivery",     # Выбрать доставку
        "confirm_order",       # Подтвердить заказ
        "send_chat_message",   # Написать в чат
    ]

OPERATOR BOT (Оператор)

class OperatorBot:
    """Симулирует работу оператора"""

    scenarios = [
        "process_new_orders",   # Обработка новых
        "handle_ozon_sync",     # Обработка OZON
        "create_shipment",      # Создание отгрузки
        "handle_return",        # Обработка возврата
    ]

    actions = [
        "login",                # Войти в систему
        "view_dashboard",       # Посмотреть дашборд
        "open_orders_list",     # Открыть список заказов
        "open_order",           # Открыть заказ
        "change_status",        # Сменить статус
        "print_label",          # Печать этикетки
        "add_comment",          # Добавить комментарий
        "sync_ozon",            # Синхронизировать OZON
    ]

MANAGER BOT (Менеджер)

class ManagerBot:
    """Симулирует работу менеджера"""

    scenarios = [
        "daily_review",         # Ежедневный обзор
        "weekly_report",        # Недельный отчёт
        "price_update",         # Обновление цен
        "stock_check",          # Проверка остатков
    ]

    actions = [
        "view_analytics",       # Аналитика
        "export_report",        # Выгрузить отчёт
        "update_prices",        # Обновить цены
        "add_product",          # Добавить товар
        "edit_product",         # Редактировать товар
    ]

7.3 Реализация симулятора

# tests/simulator/main.py

import asyncio
from playwright.async_api import async_playwright
from .bots import BuyerBot, OperatorBot, ManagerBot
from .scenarios import ScenarioRunner
from .reporter import TestReporter

class UserSimulator:
    """Главный класс симулятора"""

    def __init__(self, config):
        self.config = config
        self.buyer = BuyerBot(config)
        self.operator = OperatorBot(config)
        self.manager = ManagerBot(config)
        self.reporter = TestReporter()

    async def run_full_cycle(self):
        """Полный цикл: покупка → обработка → отгрузка"""

        # 1. Покупатель делает заказ
        order_id = await self.buyer.run_scenario("browse_and_buy")

        # 2. Оператор обрабатывает заказ
        await self.operator.run_scenario("process_new_orders", order_id)

        # 3. Оператор создаёт отгрузку
        await self.operator.run_scenario("create_shipment", order_id)

        # 4. Менеджер смотрит аналитику
        await self.manager.run_scenario("daily_review")

        # 5. Генерируем отчёт
        self.reporter.generate_report()

    async def run_load_test(self, concurrent_buyers=10):
        """Нагрузочный тест: много покупателей одновременно"""
        tasks = [
            self.buyer.run_scenario("browse_and_buy")
            for _ in range(concurrent_buyers)
        ]
        await asyncio.gather(*tasks)

8. ТЕСТОВЫЕ КЕЙСЫ

8.1 E2E Сценарии (End-to-End)

# Сценарий Шаги Ожидаемый результат
E2E-001 Полный цикл заказа Каталог → Корзина → Оформление → Обработка → Отгрузка Заказ в статусе "shipped"
E2E-002 Заказ через OZON Заказ в OZON → Синхронизация → Обработка → Отгрузка Статус синхронизирован
E2E-003 Заказ через чат Сообщение в Telegram → Создание заказа → Обработка Заказ создан из чата
E2E-004 Повторный клиент Клиент делает 2-й заказ История клиента видна
E2E-005 Брошенная корзина Добавить товар → Уйти → Вернуться Корзина сохранена

8.2 Функциональные тесты

PIM (Товары)

# Тест Действие Проверка
PIM-001 Создание товара POST /api/products 201, товар в БД
PIM-002 Редактирование товара PUT /api/products/{id} 200, данные обновлены
PIM-003 Загрузка изображения POST /api/products/{id}/images 201, файл на S3
PIM-004 Импорт из Excel POST /api/import/excel 200, товары созданы
PIM-005 Остатки по складам GET /api/stock Корректные остатки
PIM-006 Резервирование POST /api/stock/reserve Остаток уменьшен

Orders (Заказы)

# Тест Действие Проверка
ORD-001 Создание заказа POST /api/orders 201, статус "new"
ORD-002 Смена статуса PUT /api/orders/{id}/status 200, статус изменён
ORD-003 Добавление позиции POST /api/orders/{id}/items 201, позиция добавлена
ORD-004 Удаление позиции DELETE /api/orders/{id}/items/{item_id} 200, позиция удалена
ORD-005 Отмена заказа PUT /api/orders/{id}/cancel 200, остатки возвращены
ORD-006 История изменений GET /api/orders/{id}/history Все изменения логируются

OZON Integration

# Тест Действие Проверка
OZON-001 Подключение аккаунта POST /api/ozon/accounts 201, токен валиден
OZON-002 Синхронизация заказов POST /api/ozon/sync 200, заказы загружены
OZON-003 Webhook приём POST /webhook/ozon 200, заказ обновлён
OZON-004 Статус отгрузки PUT /api/ozon/shipments/{id} 200, статус в OZON
OZON-005 Печать этикетки GET /api/ozon/labels/{posting_number} PDF файл

Storefront (Витрина)

# Тест Действие Проверка
SF-001 Главная страница GET / 200, каталог отображён
SF-002 Карточка товара GET /product/{slug} 200, данные корректны
SF-003 Поиск товаров GET /search?q=салют Релевантные результаты
SF-004 Фильтры GET /catalog?category=X&price_from=Y Фильтрация работает
SF-005 Добавление в корзину POST /cart/add Товар в корзине
SF-006 Оформление заказа POST /checkout Заказ создан

8.3 Нагрузочные тесты

# Тест Параметры Критерий
LOAD-001 Каталог 100 RPS, 60 сек p95 < 500ms
LOAD-002 Создание заказов 10 RPS, 60 сек p95 < 1000ms
LOAD-003 OZON sync 50 заказов одновременно Все обработаны
LOAD-004 Dashboard 20 пользователей p95 < 2000ms

8.4 Smoke-тесты (быстрая проверка)

#!/bin/bash
# tests/smoke.sh

echo "=== PRO.seller Smoke Test ==="

# API Health
curl -s http://localhost:8500/health | grep "ok" || exit 1

# Admin Health
curl -s http://localhost:8510/health | grep "ok" || exit 1

# Storefront Health
curl -s http://localhost:8600/health | grep "ok" || exit 1

# Database
curl -s http://localhost:8500/api/products | grep "\[" || exit 1

# OZON connection
curl -s http://localhost:8500/api/ozon/status | grep "connected" || exit 1

echo "=== All checks passed ==="

9. ДЕМО-ДАННЫЕ

9.1 Источники данных

Источник Данные Количество
pirotehnika NocoDB Товары ~5000
pirotehnika NocoDB Категории ~50
OZON O1 Реальные заказы ~100
Поставщики Прайсы 3 прайса
Ручной ввод Тестовые клиенты 20

9.2 Скрипт загрузки данных

# scripts/load_demo_data.py

async def load_demo_data():
    """Загрузка демо-данных из реальных источников"""

    # 1. Товары из NocoDB pirotehnika
    print("Loading products from NocoDB...")
    products = await nocodb_client.get_all("Products")
    for p in products:
        await db.create_product({
            "sku": p["article"],
            "name": p["name"],
            "cost_price": p["purchase_price"],
            "base_price": p["base_price"],
            "category": p["category"],
            "brand": p["brand"],
        })
    print(f"Loaded {len(products)} products")

    # 2. Категории
    print("Loading categories...")
    categories = await nocodb_client.get_all("Categories")
    for c in categories:
        await db.create_category({
            "code": c["code"],
            "name": c["name"],
            "margin_percent": c["margin_percent"],
        })
    print(f"Loaded {len(categories)} categories")

    # 3. Реальные заказы из OZON
    print("Loading OZON orders...")
    ozon_orders = await ozon_client.get_orders(days=30)
    for o in ozon_orders:
        await db.create_order_from_ozon(o)
    print(f"Loaded {len(ozon_orders)} OZON orders")

    # 4. Остатки
    print("Loading stock...")
    stock = await nocodb_client.get_all("Stock")
    for s in stock:
        await db.update_stock(s["article"], s["warehouse"], s["quantity"])
    print(f"Loaded {len(stock)} stock records")

    # 5. Тестовые клиенты
    print("Creating test clients...")
    test_clients = generate_test_clients(20)
    for c in test_clients:
        await db.create_client(c)
    print("Created 20 test clients")

    print("=== Demo data loaded! ===")

9.3 Генератор тестовых данных

# scripts/generators.py

from faker import Faker
fake = Faker('ru_RU')

def generate_test_clients(count=20):
    """Генерация тестовых клиентов"""
    return [{
        "name": fake.name(),
        "phone": fake.phone_number(),
        "email": fake.email(),
        "city": fake.city(),
        "address": fake.address(),
    } for _ in range(count)]

def generate_test_orders(products, clients, count=50):
    """Генерация тестовых заказов"""
    orders = []
    for _ in range(count):
        client = random.choice(clients)
        items = random.sample(products, random.randint(1, 5))
        orders.append({
            "client": client,
            "items": items,
            "status": random.choice(["new", "approved", "shipped"]),
            "source": random.choice(["site", "ozon", "chat"]),
        })
    return orders

10. ПЛАН РЕАЛЬНЫХ ПРОДАЖ

10.1 Сценарий тестовых продаж

НЕДЕЛЯ 1: Подготовка
├── День 1-2: Деплой MVP
├── День 3: Загрузка реальных товаров
├── День 4: Настройка OZON интеграции
├── День 5: Тестовые заказы (внутренние)
├── День 6: Исправление багов
└── День 7: Готовность к продажам

НЕДЕЛЯ 2: Реальные продажи
├── День 8: Запуск рекламы (Telegram)
├── День 9: Первые заказы через сайт
├── День 10: Обработка через интерфейс
├── День 11: Отгрузка через OZON
├── День 12: Анализ воронки
├── День 13: Оптимизация
└── День 14: Отчёт по MVP

10.2 Каналы привлечения (тест)

Канал Бюджет Цель Метрика
Telegram (свой) 0 ₽ 50 переходов CTR
Telegram Ads 3000 ₽ 200 переходов CPC, CR
Яндекс.Директ 5000 ₽ 300 переходов CPC, CR
Avito 0 ₽ 20 заявок Заявки

10.3 Воронка продаж (ожидаемая)

Посетители:     500
        (30%)
Просмотр товара: 150
        (20%)
Добавление в корзину: 30
        (50%)
Оформление заказа: 15
        (70%)
Оплата: 10
        (90%)
Выкуп: 9

10.4 Чек-лист запуска

□ Товары загружены (≥100 SKU)
□ Изображения загружены
□ Цены актуальны
□ Остатки синхронизированы
□ OZON подключён и работает
□ Telegram-бот настроен
□ Уведомления о заказах работают
□ Печать этикеток работает
□ Оплата настроена (если нужна)
□ SSL сертификат установлен
□ Домен настроен
□ Метрика/Analytics подключены
□ Тестовый заказ пройден от начала до конца

11. ПЛАН ТЕСТИРОВАНИЯ

11.1 Этапы тестирования

┌─────────────────────────────────────────────────────────────────────┐
│                      ПЛАН ТЕСТИРОВАНИЯ                               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ЭТАП 1: Unit Tests (День 1-2)                                      │
│  ├── Models tests                                                    │
│  ├── Services tests                                                  │
│  └── Utils tests                                                     │
│                                                                      │
│  ЭТАП 2: Integration Tests (День 3-4)                               │
│  ├── API endpoints                                                   │
│  ├── Database operations                                             │
│  └── External services (OZON, Telegram)                              │
│                                                                      │
│  ЭТАП 3: E2E Tests (День 5-6)                                       │
│  ├── User Simulator scenarios                                        │
│  ├── Full order cycle                                                │
│  └── Cross-browser testing                                           │
│                                                                      │
│  ЭТАП 4: Load Tests (День 7)                                        │
│  ├── Stress testing                                                  │
│  ├── Concurrent users                                                │
│  └── Database performance                                            │
│                                                                      │
│  ЭТАП 5: UAT (День 8-10)                                            │
│  ├── Real user testing                                               │
│  ├── Bug fixing                                                      │
│  └── Sign-off                                                        │
│                                                                      │
│  ЭТАП 6: Production Testing (День 11-14)                            │
│  ├── Real orders                                                     │
│  ├── Real shipments                                                  │
│  └── Real money                                                      │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

11.2 Матрица тестового покрытия

Модуль Unit Integration E2E Load UAT
Core/Auth -
PIM
Orders
OZON -
Storefront -
Analytics - - -

11.3 Критерии приёмки MVP

Критерий Порог Блокер?
Unit test coverage ≥60% Нет
Integration tests pass 100% Да
E2E tests pass 100% Да
p95 response time <1000ms Да
Zero critical bugs 0 Да
OZON sync works 100% Да
10 test orders completed 10 Да

12. TIMELINE

┌─────────────────────────────────────────────────────────────────────┐
│                        MVP TIMELINE (14 дней)                        │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  НЕДЕЛЯ 1: Разработка                                               │
│  ════════════════════                                                │
│  Д1  │████████│ Core: Auth, Users, Settings                         │
│  Д2  │████████│ PIM: Products, Categories, Stock                    │
│  Д3  │████████│ ERP: Orders, Workflow                               │
│  Д4  │████████│ OZON: Sync, Webhooks                                │
│  Д5  │████████│ Storefront: Catalog, Cart                           │
│  Д6  │████████│ Integration, Bug fixes                              │
│  Д7  │████████│ Testing, Demo data                                  │
│                                                                      │
│  НЕДЕЛЯ 2: Тестирование и запуск                                    │
│  ═══════════════════════════════                                     │
│  Д8  │████████│ User Simulator tests                                │
│  Д9  │████████│ Load tests, fixes                                   │
│  Д10 │████████│ UAT, final fixes                                    │
│  Д11 │████████│ Production deploy                                   │
│  Д12 │████████│ Real sales start                                    │
│  Д13 │████████│ Monitor, optimize                                   │
│  Д14 │████████│ MVP Report                                          │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

13. КОМАНДА И РЕСУРСЫ

Роль Кто Часы/день
Backend Dev Claude + Human 6-8
Frontend Dev Claude + Human 2-4
QA/Testing Claude (Simulator) 2
DevOps Claude + Human 1-2
Product Human 1-2

Инфраструктура

Ресурс Конфигурация Стоимость
VPS (DEV) 91.218.142.168, 4GB RAM Есть
VPS (PROD) 45.144.177.147, 4GB RAM Есть
PostgreSQL NocoDB, 256MB Есть
S3 Storage Beget, 10GB ~200 ₽/мес
Domain seller1.ru Есть

14. РИСКИ

Риск Вероятность Влияние Митигация
OZON API изменится Низкая Высокое Абстракция, fallback
Нагрузка выше ожидаемой Средняя Среднее Кэширование, индексы
Баги в проде Высокая Среднее Smoke tests, rollback
Не успеем за 14 дней Средняя Среднее Сократить scope

15. СЛЕДУЮЩИЕ ШАГИ

 1. Утвердить scope MVP
 2. Создать структуру проекта @pro.app
 3. Рефакторинг PRO.seller1  модули
 4. Реализовать User Simulator
 5. Загрузить реальные данные
 6. Прогнать E2E тесты
 7. Запустить тестовые продажи
 8. Собрать метрики
 9. MVP Report

Версия: 1.0.0 | Автор: Claude | Дата: 2025-12-19