LITE SOFT DEV
СервераПортал

Фронтенд

React-приложение — дизайн, состояния, стриминговый чат и доступность.

Фронтенд — React-приложение, которое Nginx отдаёт как статику. Все данные — только через /api/v1; прямых адресов NEURO CORE, MongoDB или Qdrant во фронтенде не существует.

Принципы

  • Единственный бэкенд — /api/v1. Один типизированный API-клиент (обёртка над fetch) с общей обработкой ошибок: 401 → вход, 403 → нет доступа.
  • Роль решает, что видно. Разделы и данные рендерятся по роли, но реальная защита — RBAC на бэкенде.
  • Без ПДн. В формах и профиле школьника нет персональных полей — только технический ID.
  • Сессия в httpOnly cookie, не в localStorage.

Чат с ассистентом

Главная интерактивность портала. Ответ приходит потоком — токены рендерятся по мере прихода, а не после завершения генерации.

Требования к UX диалога:

  • вопросы по одному, без давления;
  • рекомендации — как варианты (1–3 профиля, 3–7 профессий), не приказ;
  • состояние «ассистент недоступен» — портал продолжает работать без чата;
  • пустой ретрив — честное «нет данных», не выдуманный ответ.

Транспорт стрима описан в Realtime.

Состояния страниц

Четыре состояния страницы

У каждой страницы четыре состояния, не одно: загрузка / пусто / ошибка / нет доступа. Отсутствие любого из них — баг ревью.

Дашборды

Графики аналитики (учитель, региональный контур) показывают только обезличенные агрегаты. ФИО учеников не выводится нигде, ни в каком состоянии.

Качество

ТребованиеПочему
Адаптив / мобильныеАудитория — школьники с телефонов
Доступные формыЛейблы, ошибки, фокус, валидация на blur
Кэш данных по ролямКлючи данных включают роль и ID — чужие данные не «протекают»
Skeleton-загрузкаСписки курсов и новостей не прыгают при загрузке

On this page