Техническая документация

Angular / Ionic

Архитектура, сценарии, code-map и эксплуатация.
Версия 45a75c0a457d · подготовлено 7 сентября 2026

Назначение и границы

Оператору нужно быстро находить запись в расписании, видеть её статус и менять поля без потери контекста таблицы.

Интерфейс расписания с фильтрами, таблицами и редактированием записей. Для публичного показа подготовлен полный синтетический набор данных и мобильные состояния.

  • Демонстрационный вход test / test не является системой аутентификации.
  • 180 синтетических лабораторных записей и четыре BCP-примера не являются рабочими данными.
  • Нереализованные разделы не включены в маршрут демонстрации. Число добавляемых строк ограничено 500.

Архитектура и схемы

  • Синтетические записи покрывают демонстрируемые поля, а не заменяют таблицу пустым макетом.
  • Форма редактирует черновик; отмена не должна менять исходную запись.
  • Изменения остаются внутри браузерной сессии; серверный API расписаний в публичное демо не подключён.
Компоненты опубликованного демо
Компоненты опубликованного демо · Mermaid ↓
Основной сценарий
Основной сценарий · Mermaid ↓
Размещение опубликованной версии
Размещение опубликованной версии · Mermaid ↓

Code-map: от функции к коду

Карта привязана к версии 45a75c0a457d. Она помогает проследить изменение через интерфейс, API, модуль, данные и проверку.

ФункцияЭкран / APIМодульДанные / проверка
ВходLogin / guardauthentication.service; auth.guardsessionStorage; изолированный вход
РасписаниеSchedule pageschedule.page; schedule-table.serviceсинтетические записи; фильтры
ФормаМодальные окнаpages/schedule и pages/samplesчерновик; обязательные поля / cancel
BCPBCP pagepages/bcpчетыре учебные точки; UI QA
СбросДемо-контролысервисы состоянияseed; 180 исходных записей

Как работать с картой

  1. Перед изменением найти функцию и пройти связи до API, состояния и хранилища.
  2. Проверить входы, ошибки, повторные события и зависимые сценарии.
  3. После изменения обновить карту и затронутые схемы вместе с кодом.
  4. Выполнить связанные проверки и привязать новые материалы к версии исходников.

Сценарии и API

  1. Войдите test / test и откройте расписание.
  2. Отфильтруйте записи, переключите статусы и сравните представления.
  3. Добавьте запись, проверьте обязательные поля, откройте редактирование и отмените изменение.
  4. Проверьте мобильный вид и сброс исходного набора.

Проверка опубликованной версии

  • Login → schedule
  • Filtering and empty state
  • Edit cancellation leaves original record unchanged
  • Required validation and successful creation
  • Independent browser session has original dataset
  • Delete selected record
  • Reset clears tab session
  • Подтверждённого GitHub CI для этого SHA нет; перечислены выполненные локальные проверки и сценарии опубликованной версии. Исторические CI-ссылки, если есть, отмечены отдельно.

Результаты описывают проверенные сценарии и конкретную версию. Они не являются оценкой коммерческого успеха или качества моделей на независимой выборке.

Измерения

Общий ресурсный контекст VPS для статического демо · 2026-09-07T01:08:27 — 01:11:22 UTC
Общий ресурсный контекст VPS для статического демо · 2026-09-07T01:08:27 — 01:11:22 UTC · Исходные данные ↓
Измеренные повторения сценария через HTTPS · 2026-09-07T01:08:36 UTC; ограничения методики в JSON
Измеренные повторения сценария через HTTPS · 2026-09-07T01:08:36 UTC; ограничения методики в JSON · Исходные данные ↓
  • Сохранено 13 содержательных кадров фактического интерфейса.
  • Дата, сценарий и версия указаны у каждого кадра.
  • Отдельного backend-процесса на VPS нет: Nginx раздаёт статику. Ресурсы общего Nginx нельзя честно приписать одному сайту.
  • Измерено 6 повторений сценария; медиана 2390.0 мс, максимум 3282 мс. Время включает браузер и HTTPS; методика и ограничения приложены.

Запуск и эксплуатация

Рабочий контур прикладной системы предполагает серверный источник расписаний. В публичном контуре используются локальные синтетические данные; это явно обозначено на экране.

Production-сборка Angular выполняется вне VPS. На сервер передаётся каталог готовых файлов, Nginx отдаёт его по HTTPS. Постоянного Node.js-процесса для этого демо нет.

Проверять /healthz, прямые маршруты после обновления страницы, вход, сохранение и отмену формы. Для отката переключить current на сохранённый каталог релиза. Данные восстанавливаются из встроенного набора.

Общие правила эксплуатации: готовые файлы и закреплённые образы собираются вне VPS; секреты не входят в артефакты. Общесерверный docker prune не применяется. Логи backend ограничены ротацией, изменения log options требуют пересоздания контейнера.

Перед изменением пройти code-map от функции к экрану/API, модулю и данным. После изменения обновить карту и схемы, выполнить связанные сценарии, включая ошибку, повтор и сброс. Источник истины — конкретная версия кода, а не старая диаграмма.

Откат проверен 2026-09-07T00:59:39.939043+00:00: 20260907-verified → 20260907 → 20260907-verified. После каждого переключения подтверждены HTTPS, readiness и SHA. Это проверка конфигурации и артефактов на одном проверенном SHA; обратная миграция БД не выполнялась.

Стек

Angular 17Компоненты страниц, формы, маршрутизация и состояние.
Ionic 7Навигация, элементы управления, модальные формы и адаптивный интерфейс.
SlickGridТабличное представление и операции со строками.

Материалы и исходники

В репозитории есть исходный снимок от 1 мая 2024; начало разработки этим не установлено. Демо: 7 сентября 2026.