📚 О проекте
Технологии
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 и МойСклад отчётов.
PostgreSQL 15
Psycopg2
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
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 заказы и продажи
ms_stock.html # Остатки
ms_shop.html # Продажи розницы
ms_site.html # Заказы покупателей
shipments.html # Поставки
labels.html # Генератор этикеток
monitoring.html # Мониторинг
ms_settings.html # Настройки
ms_sync.html # Синхронизация
docs.html # Документация
wip.html # В разработке
js/ # Common JS
Страницы и функции
| Страница | URL | Описание | Статус |
|---|---|---|---|
| Главная | / |
Дашборд со статистикой и навигацией | ● Работает |
| Остатки | /ms-stock |
Остатки товаров МойСклад | ● Работает |
| Магазин | /ms-shop |
Продажи розницы | ● Работает |
| Сайт | /ms-site |
Заказы покупателей | ● Работает |
| Поставки | /shipments |
Управление поставками WB | ● Работает |
| Этикетки | /labels |
Генератор штрихкодов Code128/EAN13 | ● Работает |
| Мониторинг | /monitoring |
Метрики, графики, телеметрия сервера | ● Работает |
| Настройки | /ms-settings |
Токены, автоэкспорт, Google Sheets | ● Работает |
| Синхронизация | /ms-sync |
Синхронизация цен из Google Sheets | ● Работает |
| WB API | /wb |
Wildberries заказы и продажи | ● Работает |
| Аналитика | /wip |
В разработке | ◐ WIP |
API Endpoints
МойСклад
/api/ms~50 эндпоинтов для работы с МойСклад
- Склады, контрагенты, товары
- Продажи розницы (API + БД)
- Заказы покупателей
- Остатки
- Автоэкспорт в Google Sheets
- Управление токенами
- Фоновые задачи загрузки данных
Wildberries
/api~26 эндпоинтов для WB API
- Управление токеном WB
- Продажи FBO/FBS
- Заказы и статусы
- Склады WB
- Кэширование и логирование
Этикетки
/api/labelsГенерация штрихкодов
- Превью этикеток
- Code128, EAN-13
- JSON пресеты
MS Sync
/api/ms-syncСинхронизация цен из Google Sheets
- Запуск синхронизации
- Статус синхронизации
- История последней синхронизации
Поставки
/api/shipments5 эндпоинтов для управления поставками
- Список поставок
- Активные поставки
- Детали и статистика
- Сводка по всем поставкам
Мониторинг
/api/monitoringМониторинг и метрики
/jobs— Запланированные задачи/errors— Логи ошибок/alerts— Алерты/rate-stats— Rate limiting
Mobile API
/mobile-apiAPI для Android приложения
- Поставки и коробки
- Статус сборки
- Health check