55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# MONT Vendor Maps
|
||
|
||
Flask-приложение для визуализации и редактирования матрицы:
|
||
- вендор -> продукты -> категории
|
||
- в двух режимах: Инфраструктура и ИБ
|
||
|
||
## Возможности
|
||
- фильтрация по вендорам и категориям
|
||
- отображение продуктов по выбранным фильтрам
|
||
- переключение контуров `Инфраструктура / ИБ`
|
||
- отдельный визуальный стиль для ИБ
|
||
- админ-панель с редактированием:
|
||
- вендоров
|
||
- категорий
|
||
- продуктов
|
||
- матрицы `продукт × категория`
|
||
|
||
## API
|
||
`GET /api/data?scope=infra|ib`
|
||
|
||
Возвращает JSON:
|
||
- `vendors`
|
||
- `categories`
|
||
- `products`
|
||
- `product_links`
|
||
- `links` (агрегированные vendor-category, для совместимости)
|
||
|
||
## Локальный запуск
|
||
```bash
|
||
python3 -m venv .venv
|
||
.venv/bin/python -m ensurepip --upgrade
|
||
.venv/bin/python -m pip install -r requirements.txt
|
||
.venv/bin/python main.py
|
||
```
|
||
|
||
## Docker
|
||
```bash
|
||
docker compose up -d --build
|
||
```
|
||
|
||
Приложение доступно на порту `5000`.
|
||
|
||
## Переменные окружения
|
||
- `SECRET_KEY` — секрет Flask-сессии.
|
||
- `ENABLE_BOOTSTRAP` — управление стартовым наполнением данных:
|
||
- `0` (по умолчанию): не выполнять автосидинг/автоимпорт;
|
||
- `1`: разрешить bootstrap (seed + импорт из `infra1..infra4` при подходящих условиях).
|
||
|
||
## База данных
|
||
SQLite: `matrix.db`.
|
||
|
||
Содержит данные по двум контурам (`infra` и `ib`), включая продукты и связи категорий.
|
||
|
||
Если `matrix.db` уже заполнена, запускайте с `ENABLE_BOOTSTRAP=0` (дефолт), чтобы не выполнять лишнюю инициализацию.
|