klg-asutk-app/CHANGELOG.md

250 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)