Архитектурные и блок-схемы
Обзорная схема
flowchart TB
Visitor["Пользователь"]
Operator["Оператор"]
Admin["Администратор"]
subgraph Devices["Устройства"]
Phone["Телефон"]
PAK["ПАК"]
Tablet["Планшет"]
LED_PC["ПК для LED-экрана"]
Admin_PC["ПК администратора"]
end
subgraph Apps["Приложения и модули"]
Web_App["Веб-приложение\n(ПрофСтарт, Викторина,\nОбратная связь, Профиль)"]
PAK_App["Клиент ПАК\n(ПрофСтарт, Обратная связь)"]
Operator_App["Приложение оператора\n(Викторина, Заставки,\nПрофессии в действии)"]
LED_App["Приложение LED-экрана\n(Викторина, Заставка,\nАналитика, Профессии в действии)"]
Admin_App["Админ-панель\n(CMS, Аналитика)"]
end
Backend["Backend-сервер"]
Storage["Хранилище данных\n(БД, файловый сервер)"]
Visitor --> Phone
Visitor --> PAK
Operator --> Tablet
Admin --> Admin_PC
LED_PC --> LED_App
Phone --> Web_App
PAK --> PAK_App
Tablet --> Operator_App
Admin_PC --> Admin_App
Apps --> Backend
Backend --> Storage
Детализированная схема
flowchart TB
subgraph Clients["Клиентский уровень"]
LED_App["Приложение LED-экрана"]
Mobile["Мобильный клиент"]
ProfStart_UI["Клиент ПрофСтарт"]
Feedback_UI["Обратная связь"]
end
Admin_UI["Административный портал\n(CMS, аналитика)"]
Tablet_UI["Панель оператора\n(планшет)"]
subgraph Services["Уровень прикладных сервисов"]
API_Gateway["API приложение"]
Auth["Сервис идентификации\nи авторизации"]
Event_Store_Svc["Хранилище событий"]
end
OAuth_Provider["OAuth-провайдеры\n(Яндекс ID, VK ID)"]
subgraph External["Внешние ПАК"]
Tree["Древо профессий"]
Map["Интерактивная карта"]
Battle["Профбаттл"]
Avatar["Аватар профессий"]
end
DB_Server["Сервер базы данных\n(учётные записи, профили,\nконтент, аналитика)"]
FS_Server["Файловый сервер\n(медиа, контент, резервные копии)"]
Clients --> API_Gateway
Admin_UI --> API_Gateway
Tablet_UI --> API_Gateway
API_Gateway --> Auth
Auth --> OAuth_Provider
External --> API_Gateway
External --> Event_Store_Svc
Event_Store_Svc --> DB_Server
API_Gateway --> DB_Server
API_Gateway --> FS_Server
Описание слоёв
Клиентский уровень
| Компонент |
Описание |
| Приложение LED-экрана |
Полноэкранное приложение на медиакомпьютере, визуализация сценариев, видео, интерактивных заданий |
| Мобильный клиент |
Веб-приложение на смартфоне посетителя (подключение по QR, ответы, голосования) |
| Клиент ПрофСтарт |
Запускается на ПАК, интерактивный тест школьника |
| Обратная связь |
Автономные терминалы анкет, оценок, комментариев |
| Административный портал |
Веб-интерфейс CMS и аналитики |
| Панель оператора |
Веб-интерфейс на планшете (управление сессиями, командами, раундами) |
Уровень прикладных сервисов (Backend)
| Компонент |
Описание |
| API приложение |
Единая точка входа для всех клиентов и внешних ПАК. Маршрутизация запросов, бизнес-логика |
| Сервис идентификации и авторизации |
OAuth 2.0, выдача токенов, гостевой режим, привязка гостя к профилю |
| Хранилище событий |
Буферизация, валидация и сохранение аналитических событий от всех источников |
Сервер базы данных
| Схема |
Содержание |
| Учётные записи |
User, StaffUser, OAuth-данные, токены |
| Профили и согласия |
Цифровой профиль, ConsentAcceptance, результаты |
| Контент и конфигурации |
Сценарии, вопросы, медиа, профессии, шаблоны |
| Аналитические события |
AnalyticsEvent, метрики, логи |
Файловый сервер
Видео, изображения, документы, резервные копии.
Ключевые принципы
- Разделение узлов — Backend-сервер и медиакомпьютер LED — отдельные машины
- Модульность — каждый сервис независим, взаимодействие через API
- Безопасность — токены краткоживущие, пароли не передаются, гостевой режим изолирован
- Масштабируемость — подключение новых ПАК через адаптеры без изменения ядра
Требования
- Формат: PDF + SVG/PNG
- Минимум: 1 обзорная + 1 детализированная схема
- Читаемость при печати на А3
- Визуальная разница между типами потоков
- Легенда, расшифровка сокращений
- Без декоративных схем — однозначные стрелки и подписи