Afimall — Mobile Showcase
Мобильное приложение для посетителей ТРЦ — на базе того же SDUI-движка, что и MCS Mobile. Уникальная фишка: интеграция с BMS здания (парковка, климат, occupancy) — показываем, как BC Control монетизирует существующую инфраструктуру через consumer-продукт. Тот же движок, что в MCS Mobile, своя brand-палитра, свой каталог сцен и виджетов под mall-vibes.
О продукте
Приложение демонстрирует «второй этаж» SDUI: тот же registry-движок и ref-адресация, но для consumer-сценария. Показывает, что движок не привязан к BMS — это универсальная платформа доставки UI.
Связь с BMS Афимолл: live-загрузка парковки по уровням и секторам, температура/CO2 в зонах, поток людей через эскалаторы. На странице это выглядит как полноценный consumer-app, под капотом — те же refs, что использует MCS Mobile.
Свои brand-токены: премиум-палитра mall, мягкие радиусы, карусели с большими карточками брендов. Иерархия каталога: этажи → зоны → магазины → детальная страница с акциями и графиком работы.
AI-ассистент посетителя — GigaChat с RAG по каталогу тенантов, расписанию событий и плану ТЦ: «где ближайший туалет», «где детская комната», «где парковка свободнее всего». Embedding-индекс на pgvector, retrieval за <100ms.
MVP крутится на нашем Proxmox VE: Docker Compose поднимает Next.js 16, PostgreSQL 16 с pgvector (каталог тенантов + embeddings), MinIO для S3-совместимого хранения медиа тенантов и баннеров. Dev → prod за один merge в main.
Ключевые возможности
Архитектура SDUI
Тот же registry + JSON layouts, что в mobile-demo. Можно подменять виджеты без релиза, A/B-тест экранов через конфиг.
Mall-vibes brand
Премиум-палитра, мягкие радиусы, большие hero-карточки тенантов. Свой набор иконок под retail (shop, sale, escalator).
Live BMS-данные
Парковка по уровням и секторам, climate-зоны, occupancy. API имитирует Niagara-адаптер на стороне здания.
Иерархия здания
5 этажей + B1/B2, зоны, тенанты. Drill-down навигация: floor-map → zone → tenant.
События и акции
Лента событий ТРЦ: концерты, распродажи, открытия. Карточки с расписанием, фото, deeplink на тенант.
Stack-навигация без URL
Native-feel: переходы внутри iPhone-фрейма не меняют URL страницы, тот же стек, что в SDUI приложении.
AI-ассистент посетителя
GigaChat с RAG по каталогу тенантов и плану ТЦ: «где детская комната», «куда сходить на час с ребёнком», «свободна ли парковка B2».
Технологический стек
- Next.js 16
- React 19
- TypeScript strict
- Tailwind CSS 4
- Registry + Renderer
- Layout builders
- globalThis store
- PointStream абстракция
- PostgreSQL 16 + pgvector
- MinIO (S3-compat)
- BMS адаптер
- Tenant catalog
- GigaChat API
- Embeddings (RAG)
- Caching ответов
- Streaming responses
- Docker Compose
- Proxmox VE
- Caddy reverse-proxy
- Let's Encrypt
Что под капотом
- Тот же движок, что в MCS Mobile: registry виджетов + JSON layouts + globalThis store
- Интеграция с MCS — BC Control монетизирует BMS здания через consumer-продукт
- iPhone-фрейм с native-feel: stack-навигация без смены URL
- 30+ тенантов в каталоге, иерархия этаж → зона → магазин
- Premium brand-токены отдельно от MCS — показывает изолируемость движка
- AI-ассистент посетителя: GigaChat + RAG по pgvector над каталогом и планом ТЦ
- MVP-стек на нашем Proxmox: Docker Compose поднимает всё за 10 минут от git push
- MinIO + Postgres локально → у заказчика тот же стек on-premise
Посмотреть вживую
Нужна похожая разработка?
Обсудим задачу, соберём команду под стек и сроки, предложим прозрачную оценку.