Files
vps-tracker/AGENTS.md
T
2026-03-17 23:19:28 +07:00

3.7 KiB

VPS Tracker — Руководство для ИИ

Описание проекта

VPS Tracker — приложение для учёта виртуальных серверов (VPS), провайдеров, аккаунтов, платежей и балансов. Поддерживает синхронизацию с BILLmanager 6 API.

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

vps-tracker/
├── server/                 # Express backend
│   ├── index.js            # Точка входа, подключение роутов
│   ├── db/                 # База данных (SQLite via sql.js)
│   │   ├── schema.js       # CREATE TABLE
│   │   ├── migrations.js   # Миграции схемы
│   │   ├── seed.js         # Начальные данные из public/data
│   │   └── index.js        # initDb, getDb, saveDb
│   ├── adapters/           # Интеграции с внешними API
│   │   └── billmanager/    # BILLmanager 6 API
│   │       ├── client.js   # HTTP-запросы
│   │       ├── parsers.js  # Парсинг ответов API
│   │       ├── mappers.js  # Маппинг в модель vps-tracker
│   │       ├── operations.js # fetchVds, fetchPayments и т.д.
│   │       ├── sync.js     # syncFromBillmanager
│   │       └── index.js    # Barrel export
│   ├── routes/             # Express роутеры
│   ├── utils/              # row-mappers и др.
│   └── sync-scheduler.js   # Планировщик синка
├── src/                    # React frontend (Vite)
│   ├── pages/              # Страницы приложения
│   ├── components/         # UI-компоненты
│   └── lib/                # api.js, utils.js
└── public/data/            # JSON для seed (providers, vps, payments...)

Основные сущности

Сущность Описание
providers Хостинг-провайдеры (Selectel, Firstbyte и т.д.)
provider_accounts Аккаунты у провайдера, могут иметь apiType=billmanager для синка
vps Виртуальные серверы (ip, ram, disk, tariffType, paidUntil)
payments Платежи (пополнение баланса, оплата VPS)
balance_ledger Движения по балансу
active_tariffs Тарифы, загруженные из BILLmanager vds.order
settings Настройки приложения (baseCurrency, ratesUrl, syncEnabled)

Где искать код по доменам

  • Sync (BILLmanager)server/adapters/billmanager/, server/routes/sync.js, server/sync-scheduler.js
  • Тарифыserver/adapters/billmanager/operations.js (fetchVdsOrderPricelist), server/adapters/billmanager/sync.js
  • VPS CRUDserver/routes/vps.js
  • Платежи/балансserver/routes/payments.js, server/routes/balance-ledger.js
  • Курсы валютsrc/lib/utils.js (convertCurrency, formatInBaseCurrency), настройки в settings.ratesUrl

BILLmanager API

Формат запроса: ?authinfo=user:pass&out=bjson&func=vds|payment|dashboard.info|vds.order