KDS — Frontend Specs
Фронтенд-спецификации экранов KDS-приложения (Android-планшет на кухне). Tauri 2 + React + TypeScript, target Android (production) + Windows (для разработки).
Источники
- Бизнес-спеки: KDS Overview, Кухонный экран
- BR: BR 5.1
- Архитектура: KDS Phase 2 Research
Структура приложения
[Регистрация устройства] (один раз)
↓
[PIN-логин] ⇄ [Выбор станций]
↓
[Список заказов] (главный экран)
↓
[Карточка заказа] (модалка / push)
[Settings] (модалка / push)
Экраны
| # | Экран | Назначение | Спека |
|---|---|---|---|
| 1 | Регистрация устройства | Первый запуск: admin-login по email+password → выбор ТТ | Регистрация устройства |
| 2 | PIN-логин и выбор станций | Повар вводит PIN, ставит галочки на станции (1+) | PIN-логин |
| 3 | Список заказов | Главный экран: карточки/список с цветом по времени, звук на новые | Список заказов |
| 4 | Карточка заказа | Полноэкранный просмотр позиций сгруппированных по станциям, кнопки «Готово» | Карточка заказа |
| 5 | Настройки устройства | Звук, громкость, layout, transport, in-app updater, logout, смена ТТ | Настройки устройства |
Модалка техкарты
Описана как часть Карточки заказа §«Просмотр техкарты», не выделена в отдельный экран.
Стек и хранилище
- UI: React 18 + TypeScript
- State: React state + custom hooks (
useOrders,useSession) - Транспорт:
@erp-kds/api-clientpackage сIKdsTransportinterface (CloudTransport / MockTransport / [P1] LanTransport) - Локальное хранилище: SQLite через
tauri-plugin-sql(P0 — только конфиг устройства; полная репликация заказов — P1) - WebSocket: native browser WebSocket API через CloudTransport
- Звуки: встроенные mp3-файлы в APK assets, проигрываются через HTML Audio API
- Updater:
tauri-plugin-updater
Targets
- Production: Android 10+ (API 29+), 10–13” планшет
- Development: Windows (
cargo tauri dev) — для работы фронта без планшета
Связь с админкой франшизы
Настройки KDS-приложения и список зарегистрированных устройств — управляются из админки франшизы:
- Админка → Настройки KDS — звуки, авто-логаут, список устройств
- Админка → Кухонные станции — управление станциями + цветовые пороги per-станция