# Техническая архитектура станции КОГЭ

**Продукт:** Станция КОГЭ

**Дата редакции:** 11.10.2026

## Версия

Исходники 5.3b: `ccb0effd80f9980c45662173361360c808f7aee9`, репозиторий `admin/koge2025`.

## Приложение и компоненты

Настольное приложение на Python с интерфейсом PyQt5 и отображением HTML-заданий средствами QtWebEngine. Точка входа — `main.py`. Компоненты выполняются в рамках одного приложения и разделены на модули:

- `core/config.py` — конфигурация;
- `core/kim_manager.py` — загрузка материалов;
- `core/encryption.py` — обработка ключей доступа к материалам;
- `core/exam_logic.py` — задания и ответы;
- `ui/` — главное окно, настройки и технический доступ;
- `settings/settings_manager.py` — настройки и операции с профилем;
- `file_manager/file_handler.py` — файловые ответы.

Описание прежней реализации через Tkinter и tkinterweb к этой версии не относится.

## Поток данных

Комплект материалов → открытие архива с ключом нужной даты → отображение HTML-заданий → ввод кратких и файловых ответов → локальное сохранение → экспорт результатов.

Краткие ответы находятся в `short_answers.txt` внутри каталога штрихкода, операции — в `action_logs.log`. Настройки и служебный журнал хранятся в профиле станции. Экспорт всех данных формирует `exported_data.zip`.

## Сетевые границы

Для основного экзаменационного сценария используется локальный комплект материалов и локальные файлы. Отдельный прикладной сервер и обязательный внешний сервис лицензионной активации не требуются. Передача материалов и выгрузок организуется заказчиком отдельно.

## Зависимости

Зависимости исходников указаны в `requirements.txt`: PyQt5, PyQtWebEngine, PyYAML, psutil и условная совместимость ipaddress для старых Python. Версии фактически включённых библиотек и их лицензии сверяются с составом конкретной платформенной поставки.
