Go to file
wasrusgen 76fce9ec58 feat(analytics): assembler schedule parser + analytics screen
Backend:
- assembler_parser.py: parse Excel «Таблица занятости сборщиков»
  - Handles both row-order variants (2026: dates row1; 2025-: dates row2)
  - Extracts amount from end of cell text, supports compound "6030+20100"
  - aggregate(): by_assembler×month + by_month totals
  - In-memory cache with mtime invalidation
- main.py: /api/assembler_analytics — local file first, Drive fallback
  - LOCAL: /app/data/assembler_schedule.xlsx (mounted volume)
  - Config: ASSEMBLER_SCHEDULE_PATH env var override
- config.py: assembler_schedule_file_id for Drive fallback
- docker-compose.yml: /opt/zov-tech/data → /app/data:ro volume

Frontend:
- assembler_analytics.js: year filter, monthly table, assembler ranking
  with progress bars, per-order average, last-6-months breakdown
- app.js: route #/admin/assembler-analytics + "Аналитика" button

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 09:44:34 +03:00
.claude docs: структура ролей и взаимодействий (ROLES.md) 2026-05-18 11:42:38 +03:00
.githooks ci: добавить pre-push hook (CSS-линтер + UI Playwright) 2026-05-18 09:30:36 +03:00
.github/workflows ci: UI Playwright smoke после деплоя Pages (workflow_run) 2026-05-18 12:33:35 +03:00
agents test: добавлены проверки #/inbox и #/me в ui_smoke.js 2026-05-18 12:24:50 +03:00
backend feat(backend): switch AI provider from Anthropic to GigaChat (Sber) — OAuth token caching, callAI dispatch 2026-05-10 14:22:53 +03:00
backend-py feat(analytics): assembler schedule parser + analytics screen 2026-05-19 09:44:34 +03:00
bot fix(bot): меню-кнопка CRM открывает ?role=manager — пропуск выбора роли 2026-05-17 14:59:13 +03:00
deploy feat(analytics): assembler schedule parser + analytics screen 2026-05-19 09:44:34 +03:00
design-drafts miniapp: hierarchical wizard for fridge category (style D pictograms) 2026-05-10 23:57:03 +03:00
docs fix client create — 7 багов + правило самопроверки 2026-05-14 00:09:14 +03:00
memory docs: ROADMAP P2б — договоры, дашборд сборщика, акты, прайс доп.работ 2026-05-18 16:51:11 +03:00
miniapp feat(analytics): assembler schedule parser + analytics screen 2026-05-19 09:44:34 +03:00
scripts feat: staging-окружение (Docker Compose + Caddy + deploy-script) 2026-05-18 14:22:01 +03:00
tests test: mock-фикстура карточки клиента в smoke-тесте 2026-05-18 13:43:09 +03:00
.gitignore gitignore: cat_refresh.json 2026-05-12 07:10:06 +03:00
.tmp_ssh.py miniapp: hierarchical wizard for fridge category (style D pictograms) 2026-05-10 23:57:03 +03:00
CLAUDE.md docs: экономия токенов — правило краткости в CLAUDE.md 2026-05-18 11:18:27 +03:00
package.json test: добавить Playwright UI smoke-тест (10 проверок JS-ошибок по экранам) 2026-05-18 08:53:58 +03:00
README.md chore: initial scaffold (bot, miniapp, backend, docs) 2026-05-08 23:56:48 +03:00
ROADMAP.md docs: стратегия платформ — Telegram сейчас, VK Max отдельно после 2026-05-18 17:40:14 +03:00

ZOV Tech — AI-подбор кухонной техники

Telegram-бот + MiniApp для подбора техники под кухню фабрики ЗОВ. Менеджер заполняет с клиентом чек-лист → нейросеть собирает предложение → менеджер получает результат за минуту.

Структура

zov-tech/
├── bot/         — Telegram-бот (Python + aiogram)
├── miniapp/     — MiniApp (HTML + JS, хост на GitHub Pages)
├── backend/     — Google Apps Script (бэкенд + работа с Sheets)
├── docs/        — Документация (ТЗ, deployment, decisions)
└── .claude/     — настройки Claude Code (вне репо)

Стек

Слой Технология
Бот Python 3.10+, aiogram 3.x
AI Anthropic Claude (Haiku 4.5)
MiniApp Vanilla JS + HTML, без сборки
Backend Google Apps Script (Web App)
БД Google Sheets (на старте), PostgreSQL (после роста)
Хостинг бота VPS (Selectel / Timeweb)
Хостинг MiniApp GitHub Pages

Быстрый старт (когда будет код)

cd bot
python -m venv .venv
.venv\Scripts\activate    # Windows
pip install -r requirements.txt
copy .env.example .env    # заполнить токены
python main.py

Документация

Контакты

Куратор / заказчик: Василий (@wasrusgen) Канал: @wasrusgen1