Полноценный аналитический проект для визуализации корпоративных данных в формате веб-панели. Проект включает:
vtb-django— Django REST API и сервер аналитикиvtb-react— современный React/Vite интерфейсnginx— пример Nginx-конфигурации для контейнерного развёртывания
- Интерактивная панель с фильтрами по клиентским данным
- Графики и дашборд на Plotly / Recharts
- Экспорт отчётов в PDF через WeasyPrint
- Аналитика данных с Pandas и Django
- Поддержка быстрого запуска на Windows и Linux
- Фильтрация и сегментация клиентов по возрасту, доходу, региону и другим метрикам
- Визуализация распределений, трендов и ключевых метрик
- Генерация PDF-отчёта из интерфейса
- Быстрый прототипный фронтенд на Vite + React
vtb-django/— backend-приложение на Djangovtb-react/— frontend-приложение на React + Vitenginx/— пример Docker-образа и конфигурацииstart.bat/start.sh— сценарии запуска Django и React одновременно
Перед запуском обязательно установите
WeasyPrint.
- Откройте PowerShell в корне проекта.
- Перейдите в папку
vtb-django:cd vtb-django - Создайте и активируйте виртуальное окружение:
python -m venv .venv .\.venv\Scripts\activate - Установите зависимости:
pip install -r requirements.txt - Вернитесь в корень проекта и запустите
start.bat:cd .. .\start.bat
- Откройте терминал в корне проекта.
- Перейдите в
vtb-django:cd vtb-django - Создайте и активируйте виртуальное окружение:
python3 -m venv .venv source .venv/bin/activate - Установите зависимости:
pip install -r requirements.txt
- Запустите оба приложения через
start.sh:cd .. ./start.sh
cd vtb-django
python -m venv .venv
source .venv/bin/activate # или .\.venv\Scripts\activate на Windows
pip install -r requirements.txt
python manage.py runservercd vtb-react
npm install
npm run dev -- --host 127.0.0.1 --port 3000- Django API:
http://127.0.0.1:8000 - React UI:
http://127.0.0.1:3000
Все API доступны под префиксом /api/.
POST /api/login/— вход пользователяPOST /api/register/— регистрация пользователяGET /api/logout_api/— выход из сессииGET /api/check/— проверка авторизацииGET /api/csrf/— получение CSRF-токенаGET /api/dashboard/— агрегированные данные дашбордаGET /api/search/clients/— поиск клиентовGET /api/report/— генерация отчётаPOST /api/export/pdf/— экспорт PDF-отчётаPOST /api/export/report/pdf/— экспорт расширенного PDF-отчётаPOST /api/upload/csv/— загрузка CSV-файлаGET /api/download/template/— скачивание шаблона CSVGET /api/status/— статус API
curl "http://127.0.0.1:8000/api/dashboard/?min_age=25&max_income=150000®ion=Москва"curl -X POST "http://127.0.0.1:8000/api/login/" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"password"}'vtb-django/requirements.txt— список Python-зависимостейvtb-react/package.json— список JavaScript-зависимостейvtb-django/Dockerfile— образ для контейнера Djangonginx/— конфигурация для прокси/обратного сервера
Для запуска тестов Django используйте:
cd vtb-django
pytest- Обязательно установите
WeasyPrint, чтобы работал экспорт PDF - Для повышения стабильности используйте Python 3.11 и последнюю версию Node.js
- На Windows сначала запустите
start.bat, чтобы автоматически создать окружение и поднять оба сервера
Если нужно расширить проект, добавить новые источники данных или усилить аналитические отчёты — структура готова к доработке.
