Техническая документация
Журнал решений
Ссылка на полный журнал решений и краткая сводка ключевых архитектурных решений проекта Чуйгун.
Полный журнал
Полный список — docs/DECISIONS.md (решения #1–#59, критичные — ADR в docs/decisions/). Дисциплина записи закреплена в корневом CLAUDE.md: решение записывается при выборе между альтернативами; коммит запрещён без записи.
Ключевые решения (кратко)
Фундамент
- #1 Backend Supabase (всё из коробки за 20 дней)
- #2 локальный print-agent (нет cloud-print в KG, WebUSB нестабилен)
- #3 все мутации через RPC SECURITY DEFINER
- #4 Next.js App Router · #5 shadcn/Tailwind/Framer · #6 Zustand+persist · #8 Supabase Realtime · #9 монорепо
Auth и роли
- #21 переход magic-link → email+пароль (планшеты официантов без доступа к почте)
- #22 роль waiter вместо cashier
- #23 server-route логин с rate-limit
- #24 регион fra1 → sin1 (ближе к Supabase Tokyo)
- #36 мягкая привязка стола к официанту (RLS не меняется)
Железо
- #39 принтер XP-T80Q
- #40 планшеты Redmi Pad SE (Google есть, Gbox не нужен)
- #41 prod развёрнут
Печать
- #44 печать по LAN, не USB (macOS 26 убрал raw CUPS)
- #45 USB-fallback под Windows
- #46 + #51 фикс кириллицы
withCyrillic(FS. + FS C 0 + ESC t 17) - #49 кухонный чек cook-first без цен
- #50 предчек гостю с дисклеймером «не фискальный»
- #55 / #56 per-item comment (миграция 054/055, включён в idempotency-подпись)
Меню и стоп-лист
- #53 стоп-блюда видны всем с меткой
- #54 realtime-синк стоп-листа
Хостинг
- #57 апгрейд Next 15 + React 19
- #58 фронт на Cloudflare Workers (эконом ≈ $30/мес)
- #59 без Custom Domain на Supabase
Phase 2 (не реализовано)
| Функция | Оценка |
|---|---|
| Оплата | $1200 |
| Лояльность | $1500 |
| Telegram-бот | $800 |
| Мобильное приложение | $3500 |
| Склад | $2500 |
| Фискализация | $1500 |
| Филиалы | $2000 |