Green Broker — plan.md
Технический план реализации (Green Broker)
1. Стек технологий
Язык: Python 3.11+ Бот-фреймворк: aiogram 3.x (Асинхронная архитектура, маршрутизация хэндлеров, FSM для корзины и профиля). База данных: SQLite + SQLAlchemy 2.0 (Асинхронный движок aiosqlite). Генерация PDF: ReportLab или pdfkit (через HTML-шаблонизатор Jinja2). Работа с изображениями и файлами (S3): boto3 (подключение к Yandex Object Storage). Сбор и парсинг Excel (ETL): pandas, openpyxl. Поиск и сопоставление (Fuzzy Match): FuzzyWuzzy или TheFuzz (для алгоритма расстояния Левенштейна). Оплата: ЮKassa API (через встроенные платежи Telegram). CRM и Заказы: YouGile API (Канбан-доска заказов). Логистика и Гео: Yandex Geocoder API и Yandex Routing API (для расчета доставки). Массовые рассылки: asyncio in-memory очереди (на этапе MVP, без Celery). Web-Админка: FastAPI + Jinja2 (server-side rendering) или Streamlit для быстрого MVP дашборда. * Развертывание: Обычный VPS (с Docker/Docker-compose).
2. Архитектура проекта
Проект разделен на 3 микросервиса (или логических модуля в монолите): 1. Бот-Консьерж (B2C/B2B интерфейс): Обработка команд, корзина, навигация, генерация PDF-кп. 2. Web-Админка & CRM-панель: HTTP-сервер для модерации жалоб, аналитики и выгрузки заказов. 3. ETL-Воркер (Cron Job): Фоновый скрипт для парсинга Excel прайс-листов, загрузки картинок в S3 и обновления SQLite базы.
3. Фазы разработки (Roadmap)
Фаза 1: Ядро и парсинг заявок (MVP B2B)
- Развертывание базовой структуры aiogram и Docker.
- Настройка
SQLAlchemyи таблиц (users,products,orders). - Подключение S3 (Yandex Cloud) для хранения фото и генерируемых PDF.
- Интеграция LLM (Hermes/OpenAI) для умного парсинга неструктурированных заявок (текст, Excel, PDF) ландшафтников (NER).
- Алгоритм "скрытой/виртуальной корзины", сопоставляющий позиции из заявки с наличием в БД (Fuzzy Matching + LLM).
- Мгновенная генерация PDF коммерческого предложения с логотипами питомника и актуальными ценами/остатками.
- Интеграция с YouGile API: автоматическое создание карточки (Таски) на Канбан-доске при отправке КП.
Фаза 2: Инструменты Питомника (Мобильное РМ и ETL)
- Создание мобильного рабочего места агронома (FSM в Telegram) для создания карточек в поле.
- Команда
/ostatkiдля ручного обновления склада менеджером. - Написание Python-парсера (ETL) для массовой загрузки Excel прайс-листов (инициализация каталога).
- Утверждение B2B-заказа "в минус" (отметка звездочкой в КП).
Фаза 3: Визуальный Каталог (B2C Интернет-магазин)
- Разработка визуального древовидного каталога для частников (навигация по категориям).
- Карточки товаров с переключением типа упаковки и фото.
- Классическая "видимая" корзина с добавлением по кнопкам.
- Интеграция ЮKassa для подарочных сертификатов.
- Кнопка "Сообщить об отсутствии" и Синхронная генерация общего PDF-прайс-листа по запросу.
Фаза 4: Web-Админка, Логистика и Инновации
- Инструмент массовой рассылки по клиентам.
- Разработка Web-Админки исключительно для модерации каталога.
- Интеграция Yandex Maps API для расчета доставки.
- Разработка Супер-Бота Агрегатора (B2B Маркетплейс) с фильтрацией питомников по регионам.
- Интеграция с 1С / Бизнес Пак.
4. Ограничения и риски
- Ограничение Telegram API на отправку медиа (необходим троттлинг).
- Неоднородность данных от питомников (требуется мощный словарь синонимов в алгоритме ETL).
- Обязательное кеширование S3-ссылок, чтобы не дергать API бакета каждый раз.