Войдите — каждый аккаунт видит только свои данные

Капитал

СЧА · инвестиции
Дата среза
Нереализ. P/L
Δ слоя
Позиций
Группа
Источники
Счета
Классы
Чистый капитал
История платежей
📅 Календарь выплат
Структура
    Служебный раздел

    Staff only

    Режим разработчика, демо-данные и презентация

    Параметры хранятся в localStorage (). Презентационный режим скрывает «Журнал» и «Staff only» у зрителя и принудительно включает демо-warehouse.

    Демо-склад (вместо API и asset_state_warehouse.json):

    Финансовая иерархия (roadmap)

    Подготовка к подключению брокеров, банков, криптобирж и мобильных приложений. Канонический реестр: ui/data/sources_registry.js.

        Схема потока данных (для разработки и сопровождения)

        Цепочка от источников до аналитики в UI. Подписи и ссылки — ориентир по файлам репозитория (откроются в браузере, если сервер отдаёт статику).

        Метаданные warehouse (API)

        GET /warehouse/meta — активный источник (postgres / sqlite / file / empty), rowCount, layerDates, updatedAt, warehouseDocumentVersion, warehouseTableName, lastSyncAggregate (в т.ч. lastAttemptDurationMs, platformsFailedCount, byPlatform[].message), плюс syncJobsLogUpdatedAt и recentSyncJobs (до 5 задач, lastAttemptDurationMs, platformResults). Сверка слоёв с селектором «Дата слоя». При демо-складе UI — учебный набор; ответ API — реальный backend.

        Сводка журнала sync — объект syncLogSummary из ответа GET /health (jobsLoggedCount, последний jobId / статус / finishedAt). Не загружает warehouse.

        О программе
        • Назначение: локальная аналитика и управление состоянием инвестиционных портфелей.
        • Текущий режим: модульный шаблон `v2` для отладки структуры и pipeline.
        • Ключевой источник состояния: `asset_state_warehouse.json`.
        Функциональные модули
        • `Главная`: агрегаты, диаграммы, динамика.
        • `Портфель`: таблица позиций, фильтры по портфелю и классу активов.
        • `Кабинет`: профиль, оформление, данные/sync, уведомления, конфиденциальность.
        • `Staff only`: документация структуры, правил и связей.
        Слои архитектуры
        • Данные: `asset_state_warehouse.json`, `ui/data/*.js`, `data_sources/*`.
        • Алгоритмы: `warehouse_tools/pipeline/*`, `ui/widgets/widget-data-bridge.js`.
        • Оформление: `ui/styles/design-tokens.css`, `ui/styles/app.css`, `ui/widgets/widget-styles.css`.
        • Виджеты/фильтры: `ui/widgets/widget-*.js`.
        Схемы Sync / Agent (Mermaid)

        Поток данных и Alfa Agent — вкладка Staff only. Отключение: chart_flags.jsmermaid: false.

        Структура файлов
        • `data_sources/` — база исходников после распознавания + индекс.
        • `warehouse_tools/ingest/` — распознавание и подготовка источников.
        • `warehouse_tools/pipeline/` — наполнение и валидация warehouse.
        • `ui/data/` — справочники и snapshot для UI.
        • `ui/widgets/` — виджеты, мост данных, стили виджетов.
        • `backend/` — каркас сервисной части Phase 1.
        • `platforms/registry.json` + `platforms/*/config.json` — реестр и конфиги MVP платформ.
        • `infra/queue`, `infra/storage` — контракты очереди и хранилищ.
        • `docs/` — правила, архитектура, протоколы, `ТЗ_ENTERPRISE_ARCHITECTURE_v1_0.html`.
        Поток данных (коротко)
        • Источник (`pdf/xlsx/screenshot`) -> `data_sources/inbox|recognized`.
        • Распознавание/нормализация -> `warehouse_tools/tmp/normalized/*.json`.
        • Upsert в `asset_state_warehouse.json`.
        • Отладка (разработчик): прямой импорт JSON склада из файла во вкладке «Staff only» — только в памяти вкладки, см. `showDebugWarehouseFileUpload`.
        • Чтение через `WidgetDataBridge` -> фильтры/графики/таблица.
        Протоколы проверки
        • Схема warehouse: `warehouse_tools/pipeline/validate_warehouse_schema.py`.
        • Индекс источников: `data_sources/index/recognized_index.json`.
        • Отчет импорта: `warehouse_tools/tests/ingest_protocol_report_2026-05-07.md`.
        Правило формирования этой вкладки
        • Файл правила: `docs/ПРАВИЛО_ВКЛАДКИ_НАСТРОЙКИ.md`.
        • Стандарт документов: `СТАНДАРТ_ОФОРМЛЕНИЯ_ДОКУМЕНТОВ.md`.
        • План перехода: `docs/PHASE_1_IMPLEMENTATION_PLAN.md`.
        • Протокол шагов: `docs/ПРОТОКОЛ_ВНЕДРЕНИЯ_PHASE1.md`.
        • Требование: блоки `details/summary`, короткие списки, только конкретика.
        • Связи фиксировать как цепочку: источник -> инструмент -> warehouse -> UI.

        Пользовательский склад данных

        Портфели, источники, журнал операций и отчёты можно вынести в отдельную папку (INVESTR_DATA_ROOT или data_vault.path). Код, виджеты и протоколы ingest остаются в INVESTR — другой пользователь подключает свой склад без переустановки программы.

        Документация: docs/ПОЛЬЗОВАТЕЛЬСКИЙ_СКЛАД.md Миграция: link_data_vault.bat или python warehouse_tools/migrate_to_data_vault.py --target

        Ключ API синхронизации (backend)

        Если на сервере задан INVESTR_API_KEY, введите тот же секрет — он отправляется заголовком X-InvestR-Key при защищённых POST (sync, сброс). Хранится только в браузере (localStorage: ).

        Этап N5: при INVESTR_JWT_SECRET и PyJWT сервер выдаёт JWT через POST /auth/token; клиент подставляет Authorization: Bearer … (ключ ). Роль operator не допускает factory-reset; admin — допускает.

        Системный профиль и соответствие ТЗ
        Источник: ui/data/system_settings.js Аудит: docs/АУДИТ_СООТВЕТСТВИЯ_ТЗ.md
        • Загрузка системного профиля...
        Служебный раздел

        Админка · учётные записи

        Управление пользователями invest₽. Создание аккаунта обязательно с email и именем; после создания — рассылка временного пароля и ссылки на вход. Сейчас реестр хранится в браузере (investR.admin.accounts.v1); прод-контур: POST /admin/users, POST /admin/users/:id/invite.

        Всего
        Активны
        Ожидают вход

        Статистика приложения

        Сводка по использованию системы. Чужие счета, позиции, суммы и токены брокеров не показываются.

        С данными
        Строк склада
        Брокер-подкл.
        Сессии 7д
        Юзеры 7д

        Демо-пользователь

        Включает профиль Иванов Петр Сергеевич: демо-портфель (~2 года срезов), журнал операций и полный UI. Условные источники и позиции из warehouse_demo_main.js — не ваши брокеры и не IR_EVA.

        Склад данных пользователя

        Подключить папку со складом (например IR_EVA) или загрузить JSON по ссылке. После подключения перезагрузите страницу (F5).

        Текущий склад: …

        Создать аккаунт

        Все поля с пометкой * обязательны. Без email аккаунт не создаётся.

        Учётные записи

        Пользователь Email Роль Статус Создан Активность Действия
        Загрузка…
        Служебный раздел

        Журнал изменений

        Источник: ui/data/changelog_entries.js Правило: docs/ЖУРНАЛ_ИЗМЕНЕНИЙ_И_ВЕРСИИ.md