From 09b66be20fbf2f63032b62895e65c454b7d17a1d Mon Sep 17 00:00:00 2001 From: Ruslan Date: Thu, 16 Apr 2026 16:22:21 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20README=20=D0=B8=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8?= =?UTF-8?q?=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8=D1=8F,=20=D0=B8=D0=BC?= =?UTF-8?q?=D0=BF=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=98=D0=91=20?= =?UTF-8?q?=D0=B8=20=D0=BE=D1=87=D0=B8=D1=89=D0=B5=D0=BD=D1=8B=20=D0=B1?= =?UTF-8?q?=D0=B0=D0=B7=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BF=D1=80=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BA=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 10 +++++++ CONTEXT.md | 12 ++++++++- Dockerfile | 2 +- README.md | 66 +++++++++++++++++++++++++++++---------------- Z-card_РФ.xlsx | Bin 74823 -> 0 bytes docker-compose.yml | 2 ++ matrix.db | Bin 122880 -> 163840 bytes 7 files changed, 67 insertions(+), 25 deletions(-) delete mode 100644 Z-card_РФ.xlsx diff --git a/.gitignore b/.gitignore index fa1b6c8..fe88a36 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,13 @@ __pycache__/ .venv/ CONTEXT.md CONTEXT.local.md +backups/ +infra1 +infra2 +infra3 +infra4 +иб1 +иб2 +иб3 +иб4 +Z-card_РФ.xlsx diff --git a/CONTEXT.md b/CONTEXT.md index b7f81c7..cf71ad9 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -6,13 +6,23 @@ - в двух режимах: `Инфраструктура` и `ИБ`. ## Основные файлы -- `main.py` - Flask-приложение (главная страница, API, админка, инициализация/миграция БД, импорт ИБ при необходимости). +- `main.py` - минимальный entrypoint Flask-приложения (запуск `app`). +- `zkart_app/__init__.py` - фабрика/инициализация приложения (`create_app`, регистрация роутов, `init_db`). +- `zkart_app/config.py` - конфиг и константы (пути, `ADMIN_PATH`, логин/пароль, env-флаги). +- `zkart_app/routes.py` - HTTP-роуты (`/`, `/api/data`, `/health`, админка, `/assets/mont-logo`). +- `zkart_app/db.py` - работа с SQLite, схемы, сидинг, импорт из `infra1-4`, загрузка матриц из XLSX. +- `templates/index.html` - шаблон главной страницы. +- `templates/admin.html` - шаблон админки. +- `templates/login.html` - шаблон логина в админку. +- `static/css/*` - стили интерфейса (главная/админка/логин). +- `static/js/*` - клиентские скрипты (главная/админка). - `requirements.txt` - зависимости Python. - `matrix.db` - SQLite-база со всеми сущностями по двум режимам. - `Dockerfile` - контейнеризация приложения. - `docker-compose.yml` - запуск сервиса в Docker. - `.dockerignore` - исключения для docker build context. - `mont_logo.png` - логотип, используется на главной. +- `favicon.png` - favicon сайта. ## Роуты - `/` - основной интерфейс с фильтрами. diff --git a/Dockerfile b/Dockerfile index bb66020..cbedbcb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,4 +12,4 @@ COPY . . EXPOSE 8000 -CMD ["gunicorn", "-w", "3", "-b", "0.0.0.0:8000", "main:app", "--timeout", "60"] +CMD ["sh", "-c", "gunicorn -w ${WEB_CONCURRENCY:-4} --threads ${GUNICORN_THREADS:-5} -b 0.0.0.0:8000 main:app --timeout 60"] diff --git a/README.md b/README.md index c77154f..5f40649 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,49 @@ # MONT Vendor Maps Flask-приложение для визуализации и редактирования матрицы: -- вендор -> продукты -> категории -- в двух режимах: Инфраструктура и ИБ +- `вендор -> продукты -> категории` +- два контура: `Инфраструктура` и `ИБ` ## Возможности -- фильтрация по вендорам и категориям +- фильтрация по вендорам и категориям на главной - отображение продуктов по выбранным фильтрам -- переключение контуров `Инфраструктура / ИБ` -- отдельный визуальный стиль для ИБ -- админ-панель с редактированием: - - вендоров - - категорий - - продуктов - - матрицы `продукт × категория` +- переключение контура `Инфраструктура / ИБ` +- админ-панель: +- добавление/удаление вендоров +- добавление/удаление категорий +- добавление/удаление продуктов +- редактирование матрицы `продукт × категория` (автосохранение по чекбоксам) +- удобная прокрутка матрицы (вертикальная + горизонтальная) + +## Текущая структура проекта +- `main.py` - минимальный entrypoint +- `zkart_app/__init__.py` - `create_app`, регистрация роутов, `init_db` +- `zkart_app/config.py` - конфиг/константы (`ADMIN_PATH`, env, пути) +- `zkart_app/routes.py` - HTTP-роуты +- `zkart_app/db.py` - работа с SQLite, импорт и bootstrap +- `templates/` - HTML-шаблоны (`index.html`, `admin.html`, `login.html`) +- `static/css/` - CSS +- `static/js/` - JS +- `matrix.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` -Возвращает JSON: +Возвращает: - `vendors` - `categories` - `products` - `product_links` -- `links` (агрегированные vendor-category, для совместимости) +- `links` -## Локальный запуск +## Запуск локально ```bash python3 -m venv .venv .venv/bin/python -m ensurepip --upgrade @@ -38,17 +56,19 @@ python3 -m venv .venv docker compose up -d --build ``` -Приложение доступно на порту `5000`. +Порт: `5000`. ## Переменные окружения -- `SECRET_KEY` — секрет Flask-сессии. -- `ENABLE_BOOTSTRAP` — управление стартовым наполнением данных: - - `0` (по умолчанию): не выполнять автосидинг/автоимпорт; - - `1`: разрешить bootstrap (seed + импорт из `infra1..infra4` при подходящих условиях). +- `SECRET_KEY` - секрет Flask-сессии +- `ENABLE_BOOTSTRAP`: +- `0` (по умолчанию) - не выполнять автосидинг/автоимпорт +- `1` - разрешить bootstrap (seed + импорт) +- `WEB_CONCURRENCY` - число gunicorn worker-процессов (по умолчанию `4`) +- `GUNICORN_THREADS` - число потоков на worker (по умолчанию `5`) -## База данных -SQLite: `matrix.db`. +По умолчанию Gunicorn дает минимум `20` параллельных обработок (`4 x 5`). -Содержит данные по двум контурам (`infra` и `ib`), включая продукты и связи категорий. - -Если `matrix.db` уже заполнена, запускайте с `ENABLE_BOOTSTRAP=0` (дефолт), чтобы не выполнять лишнюю инициализацию. +## Данные +- Инфраструктурные пакеты импорта: `infra1..infra4` +- ИБ-пакеты импорта: `иб1..иб4` (используются для массового заполнения `ib_*` таблиц) +- Бэкапы БД: директория `backups/` diff --git a/Z-card_РФ.xlsx b/Z-card_РФ.xlsx deleted file mode 100644 index d5d1b9c3c72808a6c4a8d2fa4c2d8133068cf6cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74823 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 SpacG(0(SvK*uaGf;Qs(S3GSQ# diff --git a/docker-compose.yml b/docker-compose.yml index d030b92..7d664c0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,8 @@ services: container_name: zkart-app environment: SECRET_KEY: ${SECRET_KEY:-change-me-please} + WEB_CONCURRENCY: ${WEB_CONCURRENCY:-4} + GUNICORN_THREADS: ${GUNICORN_THREADS:-5} volumes: - ./matrix.db:/app/matrix.db restart: unless-stopped diff --git a/matrix.db b/matrix.db index 7bb605456cbabfe237c9a68774e7720c2251cccc..898c9292f18af852a50265c9a2aa3a353c485897 100644 GIT binary patch delta 29553 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 LbK!P!miqqyfy54~ delta 5396 zcmbu@d1xF}9Ki9No!xnJzfIEIO|rYWug!h7xfV23P^?g~LQSt!;?Zc*78UfRDGFK@ zlT<-Lu@MUjN}8=M37EEmib7>0s3^3kML~GTwqAqZu#XR z?*n6_`w#CsG%oqMB9}@ddxuuHM4gdr=X>>I`{WSpJ~Di8|LE9wG((mv;rG5hhlcMS z9UB=QkHjwbg?7skd2EKgx+``vV9T+w*QQNp%lHhNtBtkJ)yXq+f$W*lJN&VSVo#g$ z6|E)CZuNdCIeG_+x9s#@P?+u<@rt@F&H^ht?p5MT5pPt|RG%by8%jJM#ZTmW?^9;K z=@*t`qsoGZU*rq?dHx{3nOAea{jL3;{i1!?-fq|1n)SVP-g?=3*xF$=S(f>u`GI-T zeAL`&wwW2m&&J2b>&8)Im(gWp>%Zw2^f&a!^*wrzp0E9(Eo*OSPin*3fL5gbrGBoS zR-aKv)Em?g`-gqS-eJ}hyPs`i40iN)o~@Bo+r+Vq3zr%fN2zGNd(57rB)HyNdx9xy$$*$QSWZMFzNTWHh` zrkgfhV7h4238r(s5gY&N4nQ62(MHn_rkyrzVA^QY>hlO`u$4wFFi;C^n!z;FrU^{b zMkCf=XpMjxH=^~X0ZapJB48r4sRtwKX;cTOjyAPmYH3pgrY6;h>vWrlTVvGFnMT1+Gl<)pj>*O956Yw z$p(|1&WM#4%qBpa(xDZT1tyC&nP4($lL02Go@J!0K%HCwj%llh@JYd&V)X||i0#xKSv#wlacxXb7^a`fNzPxUwTC-l8~uU?@2 zsePustv#h3(4tzg`nURpIU)uEwNuNI9<>P?8X8C4A;I`yj2(5Y92hEBaoG!=;{K}_)~ z5Yeeuj)qRXGBmEKwJ^}&Q!gLQO6tYo`g41g=OLm~FBc7+dO2v)rrt3DYYEwi=+xVU zhEBaKG<51^qFGHn=lXLy`wT>M>IKlysmIX}skbPWCv8M@>RD*$)HBi0sb`>BOTBsF zvb3WkqEk;pL#LjKhD^Ol!4T1@r=X!z&yR*qJs+Cn)H^c1sig0otIt6aWAK -- 2.49.1