🛠️

Технологии

🐍
Backend
FastAPI + SQLAlchemy + PostgreSQL. Асинхронная архитектура с rate limiting и кэшированием.
Python 3.11 FastAPI SQLAlchemy 2.0 Pydantic APScheduler psutil
🎨
Frontend
Vanilla JS + CSS Variables. Тёмная/светлая тема, адаптивный дизайн.
HTML5 CSS3 ES6+ Chart.js JsBarcode jsPDF
🐘
Базы данных
Три отдельные PostgreSQL: shipments, МойСклад и WB (ONDEFOR + Лазарчук).
PostgreSQL 15 Psycopg2 SQLAlchemy 2.0 Redis (опционально)
🐳
DevOps
Docker Compose с Nginx reverse proxy и автоматическим SSL.
Docker Docker Compose Nginx Certbot
📊
Мониторинг
Prometheus метрики, телеметрия сервера, health checks.
Prometheus Grafana psutil
🔒
Безопасность
SSL/TLS, шифрование токенов, rate limiting.
Let's Encrypt Fernet Bcrypt SlowAPI
🚀

Инфраструктура

🖥️
VPS
1 vCPU
2 GB RAM
28 GB SSD
🌍
Домен
bulekov24.ru
89.169.3.41
Москва
🐧
ОС
Ubuntu 24.04 LTS
Docker 24+
Linux 6.8
🔐
SSL
Let's Encrypt
Автообновление
TLS 1.3
📁

Структура проекта

backend/ # FastAPI приложение
main.py # Точка входа test_route.py # Тестовые маршруты
core/ # Конфиг, кэш, метрики
config.py cache.py metrics.py api_rate_tracker.py rate_limiter.py security.py logging_config.py background_tasks.py
modules/ # Бизнес-логика
wb_api.py wb_reports.py # WB ONDEFOR wb_reports_lazar.py # WB Лазарчук ms_reports.py ms_sync.py ms_token.py shipments_integration.py label_generator.py auto_export.py auto_export_scheduler.py monitoring.py database.py wb_database.py token_manager.py remote_client.py
mobile_api/
tests/
alembic/
frontend/ # HTML/CSS/JS
index.html # Главная wb.html # WB ONDEFOR wb-lazarchuk.html # WB Лазарчук wb-supplies.html # Поставки WB ms_stock.html # Остатки ms_shop.html # Продажи розницы ms_site.html # Заказы покупателей orders.html # Заказы интернет-магазина user-settings.html # Настройки пользователя shipments.html # Поставки labels.html # Генератор этикеток inventory.html # Инвентаризация ЧЗ cheq.html # Честный Знак monitoring.html # Мониторинг ms_settings.html # Настройки ms_sync.html # Синхронизация ms_shop_analytics.html # Аналитика продаж export-log.html # Лог автоэкспорта docs.html # О проекте wip.html # В разработке auth/ # Управление доступом js/ # Common JS
docker-compose.prod.yml # Production docker-compose.dev.yml # Development nginx.conf Makefile # Деплой
📄

Страницы и функции

Страница URL Описание Статус
Главная / Дашборд со статистикой и навигацией ● Работает
Остатки /ms-stock Остатки товаров МойСклад ● Работает
Магазин /ms-shop Продажи розницы ● Работает
Аналитика продаж /ms-shop-analytics Аналитика продаж розницы с графиками ● Работает
Сайт /ms-site Заказы покупателей ● Работает
Заказы интернет-магазина /orders Управление заказами с сайта ● Работает
Настройки пользователя /user-settings Настройки профиля ● Работает
Поставки /shipments Управление поставками WB ● Работает
Этикетки /labels Генератор штрихкодов Code128/EAN13 ● Работает
Мониторинг /monitoring Метрики, графики, телеметрия сервера ● Работает
Настройки /ms-settings Токены, автоэкспорт, Google Sheets ● Работает
Синхронизация /ms-sync Синхронизация цен из Google Sheets ● Работает
Журнал автоэкспорта /export-log Лог выполнения автоэкспорта в Google Sheets ● Работает
WB API /wb Wildberries заказы и продажи ONDEFOR ● Работает
WB Лазарчук /wb-lazarchuk Wildberries воронка и реклама ИП Лазарчук ● Работает
Поставки WB /wb-supplies Текущие поставки FBO (FBW) по API Wildberries ● Работает
Честный Знак /cheq Заказы маркированных товаров ● Работает
Инвентаризация ЧЗ /inventory Сверка кодов маркировки склад/магазин ● Работает
Документация /docs О проекте, описание страниц и API ● Работает
Пользователи /auth/users Управление доступом и ролями (админ) ● Работает
В разработке /wip Страницы в разработке (Финансы, Отчёты) ◐ WIP
🔌

API Endpoints

🏪
МойСклад /api/ms
~50 эндпоинтов для работы с МойСклад
  • Склады, контрагенты, товары
  • Продажи розницы (API + БД)
  • Заказы покупателей
  • Остатки
  • Автоэкспорт в Google Sheets
  • Управление токенами
  • Фоновые задачи загрузки данных
  • КИЗ: отгрузка с trackingCodes + вывод из оборота (retireorder)
🛍️
Wildberries ONDEFOR /api/wb
Воронка, реклама, заказы и остатки WB
  • Воронка продаж (funnel)
  • Рекламные кампании
  • Заказы FBO/FBS
  • Остатки на складах
  • Экспорт в Google Sheets
🛍️
Wildberries Лазарчук /api/wb-lazarchuk
Воронка и реклама ИП Лазарчук
  • Воронка продаж
  • Рекламные кампании
  • Настройки и экспорт
  • Отдельная БД PostgreSQL
🏷️
Этикетки /api/labels
Генерация штрихкодов
  • Превью этикеток
  • Code128, EAN-13
  • JSON пресеты
🔄
MS Sync /api/ms-sync
Синхронизация цен из Google Sheets
  • Запуск синхронизации
  • Статус синхронизации
  • История последней синхронизации
🚚
Поставки /api/shipments
5 эндпоинтов для управления поставками
  • Список поставок
  • Активные поставки
  • Детали и статистика
  • Сводка по всем поставкам
🩺
Health /health
Проверка здоровья сервисов и БД
  • Статус БД, scheduler, cache
  • Статус внешних API (МойСклад, WB)
  • Uptime сервера
📈
Статистика /api/stats
Общая статистика запросов и кэша
  • Количество запросов и ошибок
  • Среднее время ответа
  • Cache hit rate
  • Rate limiting статистика
🖥️
Система /api/v1/system
Телеметрия сервера
  • CPU, Memory, Disk usage
  • Network I/O
  • Uptime сервера
📊
Мониторинг /api/monitoring
Мониторинг и метрики
  • /jobs — Запланированные задачи
  • /errors — Логи ошибок
  • /alerts — Алерты
  • /rate-stats — Rate limiting
🔑
Авторизация /api/auth
Аутентификация и управление доступом
  • /login — Вход по логину/паролю
  • /logout — Выход
  • /me — Текущий пользователь
  • JWT + httpOnly cookie
  • Раздельная БД auth
📱
Mobile API /mobile-api
API для Android приложения
  • Поставки и коробки
  • Статус сборки
  • Health check