📚 О проекте
Технологии
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
2 GB RAM
28 GB SSD
Домен
bulekov24.ru
89.169.3.41
Москва
89.169.3.41
Москва
ОС
Ubuntu 24.04 LTS
Docker 24+
Linux 6.8
Docker 24+
Linux 6.8
SSL
Let's Encrypt
Автообновление
TLS 1.3
Автообновление
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
Страницы и функции
| Страница | 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/shipments5 эндпоинтов для управления поставками
- Список поставок
- Активные поставки
- Детали и статистика
- Сводка по всем поставкам
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-apiAPI для Android приложения
- Поставки и коробки
- Статус сборки
- Health check