Перейти к содержанию

Архитектурные и блок-схемы

Материал готов


Обзорная схема

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, метрики, логи

Файловый сервер

Видео, изображения, документы, резервные копии.


Ключевые принципы

  1. Разделение узлов — Backend-сервер и медиакомпьютер LED — отдельные машины
  2. Модульность — каждый сервис независим, взаимодействие через API
  3. Безопасность — токены краткоживущие, пароли не передаются, гостевой режим изолирован
  4. Масштабируемость — подключение новых ПАК через адаптеры без изменения ядра

Требования

  • Формат: PDF + SVG/PNG
  • Минимум: 1 обзорная + 1 детализированная схема
  • Читаемость при печати на А3
  • Визуальная разница между типами потоков
  • Легенда, расшифровка сокращений
  • Без декоративных схем — однозначные стрелки и подписи