# Project knowledge index Карта проектных знаний по вопросам читателя. Все необходимые объяснения находятся внутри документации. Для первого знакомства откройте [главную страницу](README.md), для конкретного сценария — [карту возможностей](features/README.md). ## HTTP API | Вопрос | Документ | | --- | --- | | Как API проверяет запрос, подтверждает доступ и сообщает об ошибках? | [HTTP semantics](architecture/http-api.md) | | Как сохраняется согласованность публичного контракта frontend и backend? | [Contract workflow](development/runtime-openapi-verification.md) | | Почему backend является источником OpenAPI? | [ADR 002](adr/002-nest-generated-openapi-contract.md) | ## Security | Вопрос | Документ | | --- | --- | | Как работают вход, восстановление сессии, cookie и logout? | [Authentication](features/authentication.md) | | Что происходит при конкурентном refresh или повторном предъявлении заменённого token? | [ADR 009](adr/009-concurrent-refresh-rotation-policy.md), [термины](architecture/domain-glossary.md#concurrent-refresh-attempt) | | Как защищён T-Bank token и что меняется при замене подключения? | [Connection](features/tbank-connection.md), [ADR 004](adr/004-encrypted-per-user-tbank-token.md) | ## Data Локальная база хранит пользователей, сессии и зашифрованные подключения. Брокерские счета и финансовые снимки не сохраняются как долговременная история. Принадлежность данных и границы хранения описаны в [обзоре системы](architecture/system-overview.md#хранимые-данные). Причина выбора локальной базы — [ADR 001](adr/001-prisma-sqlite-local-mvp.md). Точность и валюты — [Money](architecture/domain-glossary.md#money). Сохранение данных при обновлении — [локальное окружение](development/local-workspace.md#подготовка-backend). ## Integrations T-Bank, TLS, повторные попытки и лимиты — [ограничения подключения](features/tbank-connection.md#конфигурация-и-ограничения) и [server-side boundary](adr/003-tbank-server-side-grpc-boundary.md). MOEX/НКР и происхождение показателей — [облигации](features/bond-detail.md#содержание) и [внешние системы](architecture/system-overview.md#контекст-системы). Смена подключения и финансовый кэш — [connection cache](features/tbank-connection.md#граница-финансового-кэша). Логирование выполняется на инфраструктурной границе backend: события связываются с HTTP-запросом, а секреты и полные запросы не попадают в журнал. Принятые ограничения описаны в [ADR 008](adr/008-pino-backend-logging.md). ## Domain Определения и различия понятий — в [глоссарии](architecture/domain-glossary.md): [Money](architecture/domain-glossary.md#money), [Portfolio Position](architecture/domain-glossary.md#portfolio-position), [Client Cached Snapshot](architecture/domain-glossary.md#client-cached-snapshot), [Ledger](architecture/domain-glossary.md#account-ledger), [Realized Income](architecture/domain-glossary.md#realized-income-analytics). Связи понятий и подсистем — [system overview](architecture/system-overview.md#предметная-модель). ## Features | Предмет вопроса | Текущее поведение | | --- | --- | | Счета и сводки | [Brokerage accounts](features/brokerage-accounts.md) | | Общий портфель и разделы по всем счетам | [All accounts](features/all-accounts.md) | | Поиск, график и история акции | [Stock detail](features/stock-detail.md) | | Поиск, купоны и показатели облигации | [Bond detail](features/bond-detail.md) | | Покрытие источников кредитных рейтингов | [Исследование источников](research/bond-credit-ratings.md) | | Позиции, суммы портфеля и свежесть данных | [Portfolio](features/portfolio-view.md) | | Операции, фильтры и пагинация | [Account ledger](features/brokerage-account-ledger.md) | | Будущие выплаты | [Upcoming events](features/brokerage-account-upcoming-events.md) | | Реализованные доходы и периоды | [Income analytics](features/brokerage-account-income-analytics.md) | | Восстановление после ошибок интерфейса | [Frontend resilience](features/frontend-ui-resilience.md) | ## UI Визуальные роли и общие состояния — [дизайн-система](development/design-system.md). Примеры экранов и ограничения их проверки — [UI-каталог](development/ui-catalog.md). Обновление данных при возвращении в окно — [ADR 007](adr/007-react-query-fetch-policy.md). ## Engineering Принципы изменения и проверки системы — [engineering governance](development/engineering-governance.md). Ведение знаний и разрешение расхождений — [документация](development/documentation.md). Локальное окружение и диагностика — [local workspace](development/local-workspace.md). Служебные материалы сопровождения и исторические результаты отделены от описания системы в [разделе разработки](development/README.md).