mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 15:04:50 +00:00
Users.role теперь хранит CSV-список ролей: 'manager,measurer'.
Парсим, добавляем, отзываем — все через sheets.parse_roles / grant_role /
revoke_role / list_users_with_role. Старые однострочные значения работают
как раньше (legacy compat).
Backend:
- /api/me возвращает roles[] (массив), role (главная для legacy-UI),
plus capabilities {measurer, assembler} для staff
- /api/grant_role (admin-only) — добавить/отозвать роль
- /api/staff_list (manager-only) — список сотрудников по роли
(будет использоваться в dropdown «выбрать замерщика»)
- При role=staff отдаём отдельный кабинет; если у юзера нет measurer/
assembler — возвращаем error=no_staff_role
Bot:
- /start — 3-я reply-кнопка [🔧 Я сотрудник]. При тапе MiniApp получает
?role=staff и решает кабинет по capabilities.
- /whoami — сотрудник присылает свой Telegram ID, пересылает куратору
чтобы тот выдал роль через /api/grant_role.
MiniApp:
- renderStaff() — заглушка кабинета сотрудника с шапкой (имя, аватар,
список ролей) и пустым inbox («Пока пусто»). Если есть measurer —
быстрая кнопка «Сделать новый замер».
- При error=no_staff_role — экран с инструкцией как получить роль.
- CSS .staff-head / .staff-no-role.
Cache bust v=20260513f.
|
||
|---|---|---|
| .github/workflows | ||
| backend | ||
| backend-py | ||
| bot | ||
| deploy | ||
| design-drafts | ||
| docs | ||
| miniapp | ||
| .gitignore | ||
| .tmp_ssh.py | ||
| README.md | ||
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