RU: веб-админка для операционного контроля торгового контура: что запущено, здоровье данных, стратегии и журналы — без необходимости лазить в консоль и логи на серверах.
EN: a web operations console for a trading stack — live posture, data health, strategies, and journals so you can answer “what’s running?” and “is anything obviously wrong?” from the browser.
Репозиторий вынесен из основного проекта Jitro. Полный торговый контур и инфраструктура в этой копии не дублируются.
| Dashboard | Instruments | Data Health |
|---|---|---|
![]() |
![]() |
![]() |
| Strategies (список) | Strategy → Journal | Strategy → Stats |
|---|---|---|
![]() |
![]() |
![]() |
| System Audit |
|---|
![]() |
| Область | Что даёт интерфейс |
|---|---|
| Dashboard | Оперативный обзор контура («радар» состояния). |
| Instruments | Работа с универсом инструментов, связанным с системой. |
| Data Health | Видимость хранилищ и сигналов целостности данных. |
| Live Logs | Потоковый / почти live просмотр логов для разборов. |
| Ops Alerts | Сводка операционных сигналов в одном месте. |
| Settings | Настройки отображения и поведения UI. |
| Strategies | Список, жизненный цикл, теги, карточка: обзор, журнал событий, статистика, работа со скриптом (по правам). |
| System Audit | Экран для проверки конфигурации и «позы» системы. |
| Слой | Технологии |
|---|---|
| Frontend | Vue 3, Pinia, Vue Router, Vite, TypeScript, Tailwind CSS |
| Backend | Rust, Axum, WebSocket, DuckDB; Redis и ZeroMQ по необходимости (env) |
flowchart LR
subgraph ui [Browser]
SPA[Vue SPA]
end
subgraph api [Admin backend]
HTTP[REST API]
WS[WebSocket]
end
subgraph data [Данные и потоки]
DDB[(DuckDB)]
R[(Redis)]
ZMQ[ZeroMQ stream]
end
SPA --> HTTP
SPA --> WS
HTTP --> DDB
HTTP --> R
WS --> ZMQ
Vite проксирует /api и /ws на http://127.0.0.1:8000.
Проверка бэкенда: curl -s http://127.0.0.1:8000/api/live → ok.
| Компонент | Ориентир |
|---|---|
| Rust | stable |
| Node.js | 20+ |
| npm | 10+ |
Без Redis:
export JITRO_REDIS_DISABLE=1
cargo run --manifest-path backend/Cargo.tomlС Redis (redis://127.0.0.1/ по умолчанию):
docker compose up -d
cd backend && cargo run| Переменная | Назначение |
|---|---|
JITRO_REDIS_DISABLE=1 |
не использовать Redis |
JITRO_ALLOW_NO_REDIS=1 |
не завершать процесс, если Redis недоступен |
JITRO_REDIS_URL, REDIS_URL |
URL Redis |
Файлы DuckDB по умолчанию создаются относительно текущей рабочей директории процесса; при необходимости задайте JITRO_INSTRUMENTS_DB_URL, JITRO_DATABASE_URL и др.
cd ui
npm install
npm run devnpm run build собирает статику в ui/dist/ — каталог артефактов и не входит в репозиторий (см. .gitignore).
Если таблица instruments пуста, при старте бэкенда импортируется data/fixtures/instruments.parquet (колонки: ticker, instrument_type, currency, lot_size, min_step, name). В exchange_id записывается значение ticker.
| Переменная | Назначение |
|---|---|
JITRO_INSTRUMENTS_SEED_PARQUET |
путь к .parquet |
JITRO_INSTRUMENTS_SEED_FORCE=1 |
импорт даже при непустой таблице |
JITRO_INSTRUMENTS_SEED_DISABLE=1 |
отключить импорт |
POST /api/instruments/sync (синхронизация с брокером) в этой сборке не реализована; реестр — через Parquet/собственные записи в DuckDB.
Проект изначально выделен из монорепозитория Jitro. Торговый рантайм и приватные пакеты в jitro-admin не входят и не требуются для сборки бэкенда.
| Backend | cargo build / cargo run из backend/ или с --manifest-path. |
| Frontend | Прокси Vite на 127.0.0.1:8000. |
Админку в проде нужно закрывать аутентификацией и отграничивать по сети; базовый API не заменяет IAM. Используйте TLS, корректный CORS, не выставляйте Redis и служебные порты в интернет.






