Как пользоваться платформой
Сквозной флоу студента — от входа до завершения сессии, со скриншотами
Этот гайд проходит весь путь использования платформы для прохождения лабы. Скриншоты сделаны с реального запущенного флоу.
1. Вход
Открой /sign-in. Введи email и пароль. Если аккаунта нет — /sign-up (или кнопка GitHub справа).

После успешного входа открывается главная.
2. Выбор лабы
Перейди в раздел «Лабы» в шапке или открой страницу лабы напрямую, например /labs/lan-static-ip. Справа в сайдбаре — карточка «Запустить лабораторную» с метой (difficulty/duration) и кнопкой запуска. На мобильных сайдбар скрыт — кнопка появляется в шапке страницы.

3. Запуск + диалог кредов
После клика по «Запустить» создаётся выделенная среда GNS3 (твой временный пользователь + клон проекта) и появляется диалог с доступом.

В диалоге:
- Логин (
student-…) — твой временный GNS3-пользователь. - Пароль — показывается полностью один раз; сохрани, если планируешь возвращаться позже.
- «Открыть GNS3» — откроется GNS3 Web UI в новой вкладке.
- «Перейти к лабе» — на страницу сессии.
4. Страница сессии
/session/{id} — управление лабой. Здесь:
- Заголовок лабы.
- Карточка кредов (логин, скрытый пароль с reveal/copy, «Открыть GNS3»).
- Badge статуса (
activeилиended). - Контролы: Stop, Restart, Reset, Завершить.
- Кнопка-лончер чата с тьютором — справа снизу.

5. Чат с тьютором
Клик по лончеру открывает плавающий чат.

Введи вопрос и нажми «Отправить» — ответ стримится токенами через SSE.

Пока ответ генерируется, кнопка «Отправить» заменяется на «Stop» — можно прервать стрим.
6. Контролы лабы
- Stop — останавливает все ноды в GNS3-проекте, сессия активна.
- Restart — Stop → Start всех нод.
- Reset — пересоздаёт GNS3-проект из шаблона. Деструктив — текущая топология в среде теряется. Подтверждение через AlertDialog.
- Завершить — удаляет GNS3-окружение полностью (юзера + проект). Необратимо. Подтверждение через AlertDialog.
7. Завершение
При клике на «Завершить» — AlertDialog с подтверждением.

После подтверждения GNS3-окружение сносится. Если перезагрузить страницу сессии — статус ended, все контролы disabled.

Сессия остаётся в БД (для аналитики и истории), но повторного доступа к GNS3 нет — нужен новый запуск.