# Changelog — КЛГ АСУ ТК ## v27 (2026-02-13) — ФГИС РЭВС Integration ### Added - **Интеграция с ФГИС РЭВС** — полная реализация: - **Сервис** (629 lines): REST API + СМЭВ 3.0 (SOAP) клиент - Модели данных: FGISAircraft, FGISCertificate, FGISOperator, FGISDirective, FGISMaintOrg - ГОСТ Р 34.10-2012 (УКЭП) для юридически значимого обмена - Mock-данные для тестовой среды (4 ВС, 3 СЛГ, 2 ДЛГ, 1 эксплуатант) - **API routes** (313 lines, 15 endpoints): - PULL: `/fgis-revs/aircraft`, `/certificates`, `/operators`, `/directives`, `/maintenance-organizations` - PUSH: `/push/compliance`, `/push/maintenance`, `/push/defect` - SYNC: `/sync/aircraft`, `/sync/certificates`, `/sync/directives`, `/sync/all` - STATUS: `/status`, `/config`, `/sync-log` - **Frontend** (323 lines, 7 вкладок): - Статус подключения (mock/connected/error) - Реестр ВС, СЛГ, Директивы ЛГ, Эксплуатанты — DataTable с фильтрами - Ручная синхронизация + push compliance/maintenance/defect - Журнал синхронизаций - **Scheduler**: авто-синхронизация каждые 24ч - Pull ВС → Pull СЛГ → Pull ДЛГ - Новые mandatory AD → автоматические risk alerts - Expired СЛГ → предупреждения - **16 тестов**: pull (6), push (3), sync (4), status (3) ### Правовые основания - ВК РФ ст. 33 (реестр ВС), ст. 36 (СЛГ), ст. 37.2 (поддержание ЛГ) - Приказ Минтранса № 98 от 02.07.2007 - Приказ Росавиации № 180-П от 09.03.2017 - ФАП-148 п.4.3 (уведомление о выполнении ДЛГ) - ФАП-145 п.A.55 (документация ТО) - ФАП-128 (обязательные донесения) ## v26 (2026-02-13) — Final Polish ### Added - **⌨️ Keyboard shortcuts**: Ctrl+K (search), g→d/a/m/p/c/f/s (navigation), ? (help) - ShortcutsHelp overlay с полным списком - **DataTable v2**: сортировка по столбцам + клиентская пагинация (20 записей/стр) - **🔔 Notification bell**: real-time WS счётчик, dropdown с последними событиями - **📍 Breadcrumbs**: автоматическая навигационная цепочка на всех страницах - **📱 Responsive sidebar**: mobile hamburger toggle (lg: breakpoint) - **🩺 Health dashboard**: `/health/detailed` — БД, Redis, диск, память, данные - **Frontend validation**: validate() + RULES для aircraft_reg, P/N, S/N, табельных № ### Metrics - Полный список горячих клавиш (10 shortcuts) - DataTable с сортировкой + пагинацией на ВСЕХ таблицах ## v25 (2026-02-13) — Tests, UX, Documentation ### Added - **15 новых backend тестов** для всех v22-v24 endpoints: - test_import_export (3): XLSX export 6 типов + validation - test_global_search (4): пустой поиск, min length, поиск AD, поиск персонала - test_notification_prefs (2): defaults + update - test_wo_integration (6): WO from AD/defect/SB, batch from MP, PDF - **4 новых E2E теста**: calendar, settings, defects, maintenance - **👤 Профиль пользователя** — аватар, роль, ID, быстрые ссылки - **📚 Справка** — вся нормативная база (19 документов) с поиском - 4 категории: РФ законодательство, ФАП, ICAO, EASA - **🌙 Тёмная тема** — toggle в настройках - **📝 Audit History** — фильтры по типу объекта и действию ### Metrics - Backend: 130+ BE tests | 20 E2E - Pages: 34 | Components: 50+ - Endpoints: 160+ ## v24 (2026-02-13) — Medium Priority Improvements ### Added - **📅 Календарь ТО** — визуализация плановых WO, дедлайнов AD, сроков ПК, ресурсов - Месячная сетка с цветовой кодировкой типов событий - Навигация по месяцам, подсветка текущего дня - **📊 Import/Export Excel (XLSX)** — массовая загрузка и выгрузка: - Экспорт: components, directives, bulletins, specialists, defects, work_orders - Импорт: components, specialists, directives (с валидацией) - **📐 Batch WO из программы ТО** — `POST /work-orders/batch-from-program/{id}` - Автоматическое создание нарядов для каждой задачи MP - **🖨️ Печатная форма CRS** — `/print/crs?wo_id=...` с auto-print - Двуязычная (ru/en), ФАП-145 п.A.50 / EASA Part-145.A.50 - **⚙️ Настройки уведомлений** — 9 типов событий × 3 канала (email/push/WS) - Toggle-интерфейс, сохранение на бэкенде - **PWA v2** — улучшенный service worker: - Network-first для API (с offline-кешем) - Cache-first для статики - Offline fallback для всех страниц ## v23 (2026-02-13) — Production Hardening ### Critical Fixes - **ORM модели**: 10 SQLAlchemy классов для всех новых таблиц (258 lines) - PLGSpecialist, PLGAttestation, PLGQualification - ADDirective, ServiceBulletin, LifeLimit, MaintenanceProgram, AircraftComponent - WorkOrder - **Global auth**: Depends(get_current_user) на всех 26 роутерах - **Loading states**: 7 страниц получили индикаторы загрузки ### Added - **WebSocket notifications** для критических событий: - Новая обязательная ДЛГ, критический дефект, AOG наряд, CRS закрытие - ConnectionManager с room support (128 lines) - **Вложения к нарядам/дефектам**: AttachmentUpload компонент - **Глобальный поиск**: /search/global — ВС, компоненты, AD, SB, WO, дефекты, персонал - SearchBar в Sidebar с debounce + dropdown результатов - **PDF отчёт по WO**: /work-orders/{id}/report/pdf с блоком CRS - **Dashboard графики**: тренды WO (bar chart), распределение дефектов (progress bars) ## v22 (2026-02-13) — Cross-Module Integration ### Added - **Сквозная интеграция модулей:** - AD → WO (auto-create work order from directive) - SB → WO (auto-create from bulletin) - Defect → WO (auto-create from defect) - All with correct priority mapping (mandatory AD → urgent WO, critical defect → AOG) - **Dashboard** — добавлены секции WO stats + открытые дефекты + AOG - **Панель ФАВТ** — endpoint `/regulator/maintenance-summary` (агрегированные данные ТО) - **Airworthiness** page → навигационный хаб (4 модуля) - README полностью обновлён с архитектурой v22 ### Changed - Work Orders: 7 → 10 endpoints (+3 интеграционных) - Regulator: 8 → 9 endpoints ## v21 (2026-02-13) — Work Orders + Refactoring ### Added - **Наряды на ТО (Work Orders)** — полный lifecycle: draft → in_progress → closed (CRS) - 7 endpoints: CRUD + open/close/cancel + stats - CRS workflow (Certificate of Release to Service) — ФАП-145 п.A.50 - Связь с AD, SB, дефектами - AOG priority tracking - DB миграция `007_defects_workorders.sql` (2 таблицы + индексы + RLS) - 8 новых тестов (5 WO + 3 Defects) ### Changed - **Dashboard** — интеграция AD, Life Limits, персонала, WO stats - **5 legacy страниц** переведены на ui/ компоненты (risks, applications, audit-history, inbox, modifications) - **Дефекты** — frontend с формой регистрации, фильтрами, MEL deferral ### Fixed - Все страницы теперь используют единую UI библиотеку ## v20 (2026-02-13) — Dashboard Integration + Defects + Alerts ### Added - **Dashboard переработан** — интеграция AD, Life Limits, персонала ПЛГ, рисков - Критические баннеры (открытые ДЛГ, ресурсы, просрочки ПК) - 4 секции: Парк ВС, Контроль ЛГ, Персонал ПЛГ, Безопасность - Quick links на все модули - **Дефекты и неисправности** (backend + frontend) - 5 endpoints: CRUD + rectify + defer (MEL/CDL) - ФАП-145 п.145.A.50; EASA Part-M.A.403 - Фильтры по статусу, борту, серьёзности - **Email alert templates** для критических событий - Новая обязательная ДЛГ, критический ресурс, просрочка ПК, критический дефект ## v19 (2026-02-13) — Ядро системы ПЛГ (Airworthiness Core) ### Added - **5 подсистем контроля лётной годности:** - Директивы ЛГ (AD/ДЛГ) — регистрация, трекинг выполнения, repetitive ADs - Сервисные бюллетени (SB) — категоризация, трудоёмкость, связь с AD - Ресурсы и сроки службы (Life Limits) — часы/циклы/календарь, автоматический остаток - Программы ТО (Maintenance Programs) — задачи с интервалами, ревизии - Карточки компонентов — P/N, S/N, перемещение между ВС, сертификаты - **18 API endpoints** с audit logging - **DB миграция** `006_airworthiness_core.sql` (5 таблиц + RLS + индексы) - **Статус ЛГ конкретного ВС** (`/aircraft-status/{reg}`) - 10 backend тестов - Правовые основания: ВК РФ ст. 36-37.2; ФАП-145/148; EASA Part-M; ICAO Annex 6/8 ## v17 (2026-02-13) — Сертификация персонала ПЛГ ### Added - **Модуль «Персонал ПЛГ»** — полный учёт специалистов, аттестация, ПК - 11 программ подготовки (PLG-INIT/REC/TYPE + 8 спецкурсов) - 13 модулей первичной подготовки (240 ч, соответствие EASA Part-66) - Карточка специалиста с историей аттестаций и квалификаций - Compliance dashboard (просроченные / истекающие) - Экспорт CSV/JSON - **DB миграция** `005_personnel_plg.sql` (3 таблицы + RLS + индексы) - **Интеграция с risk_scheduler** — автоматические алерты при просрочке ПК - **Вкладка «Персонал ПЛГ» в панели ФАВТ** (агрегированные данные) - 15 backend тестов + 1 E2E - Правовые основания: ВК РФ ст. 52-54; ФАП-145/147/148; EASA Part-66; ICAO Annex 1 ## v15 (2026-02-13) — Панель регулятора ФАВТ ### Added - **Панель регулятора ФАВТ** — 6 read-only endpoints + 5-tab UI page - Сводка, Реестр ВС, Сертификация, Безопасность, Аудиты - PDF и JSON экспорт отчётов - Правовые основания: ВК РФ, ФАП-246/285, ICAO Annex 6/7/8/19, EASA Part-M/ARO - Роль `favt_inspector` в Keycloak - 12 тестов на контроль доступа и защиту данных - Аудит-логирование всех запросов к /regulator ## v14 — Full Production Stack ### Added - Universal API proxy (consolidated 23→14 routes) - Request logging middleware (X-Response-Time) - Enhanced health check (DB, Redis, Scheduler) - Data restore endpoint (JSON upload) - Analytics page (/analytics) - Auto-migration on startup ## v13 — Dead Code Elimination ### Removed - 12 dead components (−663 lines) - 5 dead API routes (−494 lines) - 7 dead hooks (−625 lines) - 2 dead services (−100 lines) ### Fixed - All remaining modals wired into pages - ErrorBoundary + SkipToMain in layout ## v12 — Zero Inline Styles ### Changed - **0 inline styles** across entire frontend (was 450+) - All components converted to Tailwind CSS ### Added - OIDC JWT verification backend (oidc.py) - Backup/restore API - Dark mode toggle in Sidebar - Activity Timeline, Online Users, Keyboard Help ## v11 — UI Library & Refactoring ### Added - 9 UI components: PageLayout, DataTable, Modal, FilterBar, StatusBadge, FormField, EmptyState, Pagination, NotificationBell - Batch operations API - Email notification service - OIDC auth hook (frontend) ### Changed - 14 modals refactored: 4,933→593 lines (−88%) - Dashboard: 773→180 lines (−77%) ## v10 — Tailwind CSS Migration ### Changed - 14 pages migrated to Tailwind (−2,108 lines) - Keycloak OIDC realm configuration - 8 Playwright E2E smoke tests ## v9 — Monitoring & PWA ### Added - Prometheus metrics + alerts (5 rules) - Grafana dashboard (5 panels) - PWA: manifest, service worker, offline page - Docker Compose: 3 profiles - Helm chart for Kubernetes - Dark mode + i18n (ru/en) ## v1-v8 — Core Platform ### Added - 12 DRY API routes → 70+ endpoints - Multi-tenancy RLS (178-line SQL migration) - Rate limiting, RBAC (6 roles) - WebSocket realtime notifications - CI/CD pipeline (.github/workflows) - Comprehensive audit logging - Risk scheduler (APScheduler) - Export API (CSV/JSON, 5 datasets)