Files
egorin/README.md
T
GermanandClaude Opus 4.8 b1c52ab748 Железный Егорин — форк Орбиты: тёплый стиль (amber), логин с odyssey WebGL-молнией справа, энергомониторинг+панель
Ребренд Мониторинг Орбита -> Железный Егорин; accent green->amber #F59E0B; LoginScreen правая половина = Lightning (WebGL, hue 35 тёплый) под стеклянной формой; левая панель — тёплый градиент.
Доступ агентам: репо публичный, push german-токеном.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 23:57:16 +03:00

47 lines
3.1 KiB
Markdown

# Servaki Monitor — Смартпанель
Единая панель мониторинга с **опциональными модулями**:
- ⚡ **Энергомониторинг** — Sunways STH → Wiren Board → MQTT/InfluxDB; щитовые шкафы Navtelecom (FLEX/NTCB).
- 🧩 **Смартпанель (realty)** — Wiren Board: реле WB-MR, диммеры WB-MDM3, сцены (MQTT).
- 🧭 **GPS-мониторинг** — Navtelecom FLEX/NTCB → Traccar (REST/WebSocket); автопарк + стационарные объекты.
Продукт «продолжает» наработки `Мониторинг ПО/NAvtelecom` (FLEX-сервер, Wiren Board, Silero-«Рация») и
эталоны UI (`orbit-gps-panel.html`, `sunways-dashboard.html`), собирая их в один React-фронт.
## Стек
React 18 + Vite + TypeScript + Tailwind. Графики — Recharts, иконки — lucide-react.
Дизайн-система (навык **ui-ux-pro-max**): тема **Dark-OLED**, акцент `#22C55E`, фон `#0F172A`, шрифты Fira Sans / Fira Code.
## Архитектура (модульность)
```
src/
core/types.ts — типонезависимое ядро: MonitoredEntity, MonitorEvent (EventBus-контракт)
config/modules.ts — реестр модулей + флаги enabled (опциональность / мультиарендность)
components/ — AppShell (сайдбар+топбар), ui-примитивы (Card/KPI/Badge/StatusDot)
modules/
energy/ smart/ gps/ — три модуля, каждый самодостаточен
data/mock.ts — демо-данные (заменяются адаптерами)
```
Источники нормализуются адаптерами в `MonitoredEntity` (energy→InfluxDB, realty→WB-MQTT, transport→Traccar).
Модуль включается/выключается флагом `enabled` — далее флаги придут с бэкенда по `clientId`.
## Запуск
```bash
npm install
npm run dev # http://localhost:5180
npm run build # dist/
```
## Деплой
- **vm-mts1** (публично, за Caddy — как Heritage): `docker compose up -d --build` → `:8096`, Caddy `reverse_proxy`, поддомен через Beget API + LE-TLS.
- **Дубль на офис-Proxmox** (внутренний/дев, рядом с реальным Wiren Board): тот же образ.
- Тяжёлый слой данных (InfluxDB/Grafana/MQTT/FLEX-сервер) — отдельным compose на Proxmox.
## Дорожная карта
1. ✅ Каркас + 3 модуля на моках, дизайн-система.
2. Бэкенд-шлюз (Node/Express + PG + Redis): мультиарендность `clientId`, нормализация, кэш, WS.
3. Адаптеры: Traccar (REST/WS), Wiren Board (MQTT deviceBridge), InfluxDB (энерго).
4. EventBus → лента + звук + голос (Silero «Рация»).
5. Карта MapLibre в GPS-модуле; вход (OAuth/OTP).