Go to file
wasrusgen 52eb0e4a96 Phase 4 stage 1: Сборки — модель + создание + список
Backend:
- sheets.is_master(user) — единая роль measurer ∨ assembler
- grant_role() автоматически выдаёт парную роль (measurer ↔ assembler)
- Новая таблица Assemblies со схемой: client, scope, scheduled_at,
  status (created|scheduled|in_progress|completed|cancelled),
  photos_before/in_progress/after, signature_file, gcal_event_id
- POST /api/assembly_create — менеджер заводит сборку,
  при scheduled_at создаётся событие Google Calendar (4 часа)
- POST /api/assembly_list — фильтр по роли: менеджер видит свои,
  мастер — назначенные + неназначенные (created/scheduled)
- POST /api/assembly_detail — карточка с правами доступа
- /api/photo: добавил MIME для pdf/dwg/dxf (для DWG-блока B+E)

Frontend (assembly.js — новый модуль):
- Форма /api/assembly_create с валидацией: имя, адрес, scope
- Pre-fill из карточки клиента (sessionStorage.prefillAssembly,
  адрес + measurement_id из последнего замера)
- Список сборок + детальная карточка со статусом и составом работ
- Маршруты: #/assembly, #/assembly/new, #/assembly/<id>

Frontend (app.js + clients.js):
- Кнопка «🔨 Заказать сборку» в карточке клиента
- Quick-action «Сборки» на главной менеджера
- Блок «🔨 Сборки» в кабинете мастера (caps.measurer ∨ assembler)

CSS: .assembly-card / .assembly-card-* (золотой бордер)
index.html: cache bump v=20260514c
2026-05-14 09:53:40 +03:00
.github/workflows ci: re-trigger Pages deploy after enabling 2026-05-09 01:11:54 +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 Phase 4 stage 1: Сборки — модель + создание + список 2026-05-14 09:53:40 +03:00
bot bot: CRM на меню-кнопке + новый текст приветствия 2026-05-13 22:44:49 +03:00
deploy measurements: photo upload + measurement detail page + PDF/print 2026-05-12 18:11:29 +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
miniapp Phase 4 stage 1: Сборки — модель + создание + список 2026-05-14 09:53:40 +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
README.md chore: initial scaffold (bot, miniapp, backend, docs) 2026-05-08 23:56:48 +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