41 lines
2.7 KiB
Markdown
41 lines
2.7 KiB
Markdown
# Диаграммы (PlantUML)
|
||
|
||
Исходники диаграмм для диссертации. Построены по фактическому коду
|
||
(`src/lib/api/*`, `src/lib/features/tracking/*`, `src/lib/features/wind/*`).
|
||
|
||
## Архитектура
|
||
|
||
| Файл | Что описывает |
|
||
|------|----------------|
|
||
| [architecture.puml](architecture.puml) | Слоистая архитектура клиента: routes → features → lib (api/map/ui/state/i18n/auth/domain), внешние сервисы (Backend, предсказатель) и библиотеки |
|
||
|
||
## Диаграммы последовательности (по всем запросам)
|
||
|
||
| Файл | Что описывает | Запросы |
|
||
|------|----------------|---------|
|
||
| [seq-request-csrf.puml](seq-request-csrf.puml) | Сквозная обёртка `request<T>()`: CSRF, cookie, обработка ошибок и 401 | `GET /api/csrf/` |
|
||
| [seq-auth.puml](seq-auth.puml) | Проверка сессии, вход, выход | `GET /api/session/`, `GET /api/whoami/`, `POST /api/login/`, `POST /api/logout/` |
|
||
| [seq-resource-crud.puml](seq-resource-crud.puml) | Единый CRUD-шаблон справочников | `/api/saved-points/`, `/api/saved-templates/`, `/api/saved-profiles/` (GET/POST/PUT/DELETE) |
|
||
| [seq-prediction.puml](seq-prediction.puml) | Запуск прогноза траектории | `POST /api/predictions/` |
|
||
| [seq-telemetry.puml](seq-telemetry.puml) | Загрузка истории и приём телеметрии | `GET /api/{id}/telemetry/`, `WS /api/ws/satellite/{id}/telemetry/` |
|
||
| [seq-wind.puml](seq-wind.puml) | Визуализация поля ветра (статика + синхронизация) | `GET /api/v1/wind/field`, `GET /api/v1/wind/meta` |
|
||
|
||
## Диаграмма потоков данных
|
||
|
||
| Файл | Что описывает |
|
||
|------|----------------|
|
||
| [dfd-telemetry.puml](dfd-telemetry.puml) | DFD подсистемы слежения: внешние сущности, процессы 1.0–5.0, хранилища D1–D3 |
|
||
|
||
## Рендеринг в PNG/SVG
|
||
|
||
В системе есть Java, но нет CLI PlantUML. Один раз скачать jar и собрать все
|
||
диаграммы:
|
||
|
||
```sh
|
||
curl -L -o plantuml.jar https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar
|
||
java -jar plantuml.jar -tpng docs/diagrams/*.puml # PNG
|
||
java -jar plantuml.jar -tsvg docs/diagrams/*.puml # SVG (для печати)
|
||
```
|
||
|
||
Альтернатива без установки — онлайн-редактор <https://www.plantuml.com/plantuml>
|
||
или расширение PlantUML для VS Code (предпросмотр `Alt+D`).
|