30220ccad27d03643b2d7062d25f4bbbd0de822f
MONT Vendor Maps
Flask-приложение для визуализации и редактирования матрицы:
вендор -> продукты -> категории- два контура:
ИнфраструктураиИБ
Возможности
- фильтрация по вендорам и категориям на главной
- отображение продуктов по выбранным фильтрам
- переключение контура
Инфраструктура / ИБ - админ-панель:
- добавление/удаление вендоров
- добавление/удаление категорий
- добавление/удаление продуктов
- редактирование матрицы
продукт × категория(автосохранение по чекбоксам) - удобная прокрутка матрицы (вертикальная + горизонтальная)
Текущая структура проекта
main.py- минимальный entrypointzkart_app/__init__.py-create_app, регистрация роутов,init_dbzkart_app/config.py- конфиг/константы (ADMIN_PATH, env, пути)zkart_app/routes.py- HTTP-роутыzkart_app/db.py- работа с SQLite, импорт и bootstraptemplates/- HTML-шаблоны (index.html,admin.html,login.html)static/css/- CSSstatic/js/- JSmatrix.db- рабочая SQLite БД
Роуты
/- главная страница/api/data?scope=infra|ib- API данных матрицы/health- healthcheck/assets/mont-logo- логотип/{ADMIN_PATH}- админка (секретный путь вzkart_app/config.py)
API
GET /api/data?scope=infra|ib
Возвращает:
vendorscategoriesproductsproduct_linkslinks
Запуск локально
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
docker compose up -d --build
Порт: 5000.
Переменные окружения
SECRET_KEY- секрет Flask-сессииENABLE_BOOTSTRAP:0(по умолчанию) - не выполнять автосидинг/автоимпорт1- разрешить bootstrap (seed + импорт)WEB_CONCURRENCY- число gunicorn worker-процессов (по умолчанию4)GUNICORN_THREADS- число потоков на worker (по умолчанию5)
По умолчанию Gunicorn дает минимум 20 параллельных обработок (4 x 5).
Данные
- Инфраструктурные пакеты импорта:
infra1..infra4 - ИБ-пакеты импорта:
иб1..иб4(используются для массового заполненияib_*таблиц) - Бэкапы БД: директория
backups/
Description
Languages
Python
49.5%
JavaScript
17.7%
CSS
17.5%
HTML
14.9%
Dockerfile
0.4%