docs: refresh project onboarding entrypoints
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Обзор системы
|
||||
|
||||
WealthLedger — локальное приложение для просмотра инвестиционных данных через
|
||||
безопасное server-side подключение к T-Bank Invest.
|
||||
|
||||
## Поставленные возможности
|
||||
|
||||
- [Аутентификация](../features/authentication.md): access/refresh-сессии и
|
||||
защищённые маршруты.
|
||||
- [Подключение T-Bank](../features/tbank-connection.md): один зашифрованный
|
||||
token на User.
|
||||
- [Брокерские счета](../features/brokerage-accounts.md),
|
||||
[Portfolio](../features/portfolio-view.md),
|
||||
[Account Ledger](../features/brokerage-account-ledger.md) и
|
||||
[Future Cash Events](../features/brokerage-account-upcoming-events.md).
|
||||
- [Frontend UI resilience](../features/frontend-ui-resilience.md): явные
|
||||
loading, error, empty и cached-snapshot состояния.
|
||||
|
||||
Термины этих возможностей определяет [глоссарий домена](domain-glossary.md), а
|
||||
причины ключевых технических решений — [ADR](../adr/README.md).
|
||||
|
||||
## Локальные границы
|
||||
|
||||
- Frontend — React-клиент; он не вызывает T-Bank напрямую.
|
||||
- Backend — NestJS API `/api/v1`, владеющий auth, SQLite-данными и T-Bank
|
||||
gRPC boundary.
|
||||
- OpenAPI backend — единственный контракт frontend; committed client
|
||||
генерируется штатным workflow.
|
||||
- Поставка остаётся локальной: deployment, Docker, CI/CD и облачные сервисы не
|
||||
входят в текущие границы.
|
||||
- Snapshot Portfolio и кэш Ledger существуют только в runtime-памяти; система
|
||||
не предоставляет историческое хранилище портфеля.
|
||||
|
||||
## Поток auth/session
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant U as User
|
||||
participant F as Frontend
|
||||
participant B as Backend
|
||||
participant D as SQLite
|
||||
U->>F: Регистрация или вход
|
||||
F->>B: POST /api/v1/auth/*
|
||||
B->>D: Создаёт User и Session
|
||||
B-->>F: Access token + refresh cookie
|
||||
F->>B: Защищённый запрос с Bearer token
|
||||
B-->>F: Данные или Problem Details
|
||||
F->>B: POST /api/v1/auth/refresh при истечении access token
|
||||
B->>D: Ротирует refresh token
|
||||
B-->>F: Новый access token + refresh cookie
|
||||
```
|
||||
|
||||
## Поток инвестиционных данных
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant U as User
|
||||
participant F as Frontend
|
||||
participant B as Backend
|
||||
participant D as SQLite
|
||||
participant T as T-Bank gRPC
|
||||
U->>F: Открывает счета или Portfolio
|
||||
F->>B: GET /api/v1/brokerage-accounts/* (Bearer)
|
||||
B->>D: Читает T-Bank connection
|
||||
B->>T: Запрос через server-side gRPC boundary
|
||||
T-->>B: Upstream-данные
|
||||
B-->>F: Нормализованные данные или Problem Details
|
||||
F-->>U: Экран с данными или локальным состоянием ошибки
|
||||
```
|
||||
|
||||
Подробный статус локальных gates и deferred Prisma e2e находится в
|
||||
[audit remediation registry](../development/audit-remediation.md).
|
||||
Reference in New Issue
Block a user