- Unify API: lib/api.ts uses /api/v1, inbox uses /api/inbox (rewrites) - Remove localhost refs: openapi, inbox page - Add rewrites: /api/inbox|tmc -> inbox-server, /api/v1 -> FastAPI - Add stub routes: knowledge/insights, recommendations, search, log-error - Transfer from PAPA: prompts (inspection, tmc), scripts, supabase, data/tmc-requests - Fix inbox-server: ORDER BY created_at, package.json - Remove redundant app/api/inbox/files route (rewrites handle it) - knowledge/ in gitignore (large PDFs) Co-authored-by: Cursor <cursoragent@cursor.com>
197 lines
9.1 KiB
Markdown
197 lines
9.1 KiB
Markdown
# Инструкция по демонстрации проекта
|
||
|
||
## Быстрая демонстрация (5-10 минут)
|
||
|
||
### 1. Запуск системы
|
||
|
||
```bash
|
||
cd klg_asutk_app
|
||
docker compose up --build
|
||
```
|
||
|
||
Дождитесь сообщения о готовности всех сервисов.
|
||
|
||
### 2. Открытие приложения
|
||
|
||
Откройте в браузере: **http://localhost:8080**
|
||
|
||
### 3. Демонстрация функций
|
||
|
||
#### Шаг 1: Главная страница (Дашборд)
|
||
- Покажите небесный фон с анимацией облаков
|
||
- Обратите внимание на KPI карточки:
|
||
- Количество организаций
|
||
- Количество воздушных судов
|
||
- Количество заявок
|
||
- ВС в эксплуатации / на обслуживании
|
||
- Сертификаты с истекающим сроком
|
||
- Продемонстрируйте поиск:
|
||
- Введите часть регистрационного номера (например, "RA-")
|
||
- Нажмите "Найти"
|
||
- Покажите результаты поиска
|
||
- Покажите кнопки "Загрузка данных" и "Документы"
|
||
|
||
#### Шаг 2: Воздушные суда
|
||
- Перейдите в раздел "Воздушные суда"
|
||
- Покажите список ВС с различными типами (самолеты и вертолеты)
|
||
- Обратите внимание на:
|
||
- Разные статусы (в эксплуатации, на обслуживании и т.д.)
|
||
- Налет и циклы
|
||
- Операторов
|
||
- Нажмите "Детали" на любом ВС, чтобы показать модальное окно с полной информацией
|
||
- Покажите возможность создания нового ВС (кнопка "Добавить ВС")
|
||
|
||
#### Шаг 3: Организации
|
||
- Перейдите в раздел "Организации"
|
||
- Покажите список организаций разных типов:
|
||
- Операторы (авиакомпании)
|
||
- MRO (организации ТО)
|
||
- Органы власти
|
||
- Продемонстрируйте создание новой организации:
|
||
- Нажмите "Создать"
|
||
- Заполните форму
|
||
- Сохраните
|
||
|
||
#### Шаг 4: Загрузка данных
|
||
- Вернитесь на главную страницу
|
||
- Нажмите кнопку "Загрузка данных"
|
||
- Покажите модальное окно:
|
||
- Выбор воздушного судна
|
||
- Выбор типа файла (текст, PDF, XLS, PNG)
|
||
- Загрузка файла
|
||
- Таблица загруженных файлов
|
||
|
||
#### Шаг 5: Нормативные документы
|
||
- Нажмите кнопку "Документы" на главной странице или перейдите через меню
|
||
- Покажите документы от разных организаций:
|
||
- ИКАО
|
||
- МАК
|
||
- EASA
|
||
- Росавиация
|
||
- Обратите внимание на:
|
||
- Статусы документов (действует, обновлен, новый)
|
||
- Категории
|
||
- Ссылки на официальные сайты
|
||
|
||
#### Шаг 6: Пользователи
|
||
- Перейдите в раздел "Пользователи"
|
||
- Покажите список пользователей с ролями
|
||
- Продемонстрируйте фильтрацию:
|
||
- По организации
|
||
- По роли
|
||
|
||
#### Шаг 7: Заявки на сертификацию
|
||
- Перейдите в раздел "Заявки"
|
||
- Покажите список заявок с различными статусами
|
||
- Обратите внимание на workflow заявок
|
||
|
||
### 4. Демонстрация API
|
||
|
||
Откройте в браузере: **http://localhost:8000/docs**
|
||
|
||
- Покажите Swagger UI
|
||
- Выполните несколько запросов:
|
||
- `GET /api/v1/organizations` — список организаций
|
||
- `GET /api/v1/aircraft` — список ВС
|
||
- `GET /api/v1/aircraft/types` — типы ВС
|
||
|
||
---
|
||
|
||
## Расширенная демонстрация (15-20 минут)
|
||
|
||
### Дополнительные сценарии
|
||
|
||
#### Сценарий 1: Полный цикл работы с ВС
|
||
1. Создайте новое воздушное судно
|
||
2. Загрузите для него документы через "Загрузка данных"
|
||
3. Просмотрите детали ВС
|
||
4. Измените статус ВС
|
||
|
||
#### Сценарий 2: Работа с организациями
|
||
1. Создайте новую организацию (оператор)
|
||
2. Создайте ВС и привяжите его к этой организации
|
||
3. Покажите фильтрацию ВС по оператору
|
||
|
||
#### Сценарий 3: Поиск и фильтрация
|
||
1. Используйте поиск на главной странице
|
||
2. Покажите фильтрацию пользователей по организации и роли
|
||
3. Продемонстрируйте сортировку в таблицах
|
||
|
||
---
|
||
|
||
## Ключевые моменты для демонстрации
|
||
|
||
### Дизайн
|
||
- ✅ Небесный фон на всех страницах
|
||
- ✅ Белые карточки с тенями для читаемости
|
||
- ✅ Крупные зеленые кнопки для основных действий
|
||
- ✅ Глянцевые кнопки для дополнительных функций
|
||
- ✅ Адаптивный дизайн
|
||
|
||
### Функциональность
|
||
- ✅ Управление воздушными судами (самолеты и вертолеты)
|
||
- ✅ Управление организациями
|
||
- ✅ Загрузка и управление файлами
|
||
- ✅ Поиск по ВС и организациям
|
||
- ✅ KPI на дашборде
|
||
- ✅ Нормативные документы
|
||
|
||
### Технические особенности
|
||
- ✅ REST API с документацией
|
||
- ✅ Docker контейнеризация
|
||
- ✅ PostgreSQL база данных
|
||
- ✅ React + TypeScript frontend
|
||
- ✅ FastAPI backend
|
||
|
||
---
|
||
|
||
## Возможные вопросы и ответы
|
||
|
||
**Q: Какие данные уже есть в системе?**
|
||
A: Система содержит тестовые данные:
|
||
- Несколько организаций (операторы, MRO, органы власти)
|
||
- Множество воздушных судов различных типов (самолеты и вертолеты)
|
||
- Типы воздушных судов (Boeing, Airbus, Sukhoi, Ми, Ка и др.)
|
||
|
||
**Q: Можно ли добавить свои данные?**
|
||
A: Да, через веб-интерфейс можно создавать новые организации, воздушные суда и загружать файлы.
|
||
|
||
**Q: Как работает авторизация?**
|
||
A: В режиме разработки используется упрощенная авторизация через JWT токены. В production будет использоваться OIDC через АСУ ТК-ИБ.
|
||
|
||
**Q: Где хранятся загруженные файлы?**
|
||
A: В текущей версии файлы хранятся локально в файловой системе. В production будет использоваться централизованное хранилище АСУ ТК.
|
||
|
||
**Q: Можно ли экспортировать данные?**
|
||
A: В текущей версии экспорт не реализован, но это можно добавить через API.
|
||
|
||
---
|
||
|
||
## Устранение проблем
|
||
|
||
### Проблема: Страница не загружается
|
||
**Решение:**
|
||
1. Проверьте, что все контейнеры запущены: `docker compose ps`
|
||
2. Проверьте логи: `docker compose logs frontend`
|
||
3. Перезапустите: `docker compose restart frontend`
|
||
|
||
### Проблема: API не отвечает
|
||
**Решение:**
|
||
1. Проверьте логи backend: `docker compose logs backend`
|
||
2. Проверьте подключение к БД: `docker compose logs db`
|
||
3. Перезапустите: `docker compose restart backend`
|
||
|
||
### Проблема: Данные не отображаются
|
||
**Решение:**
|
||
1. Проверьте, что БД инициализирована
|
||
2. Проверьте логи backend на наличие ошибок
|
||
3. Попробуйте пересоздать БД: `docker compose down -v && docker compose up --build`
|
||
|
||
---
|
||
|
||
## Заключение
|
||
|
||
Система готова к демонстрации. Все основные функции работают, интерфейс интуитивно понятен, дизайн современный и привлекательный.
|
||
|
||
Для дополнительной информации см. файл `ДЕМОНСТРАЦИЯ_ПРОЕКТА.md`.
|